数据库基本知识实验一-数据库和表的创建与管理组织
MySQL课件数据库和表的创建与管理
创建、操作数据库和数据对 象
数
据 表
(1)命令行方式
(2)图形界面工具方式
数据库
视 图
存 储 过 程
DELIMITER $$ CREATE PROCEDURE DELETE_STUDENT(I N XH CHAR(6)) BEGIN
创建数据库
• 创建数据库
MySQL安装后,系统自动地创建 information_scema和MySQL数据库,MySQL把 有关数据库的信息存储在这两个数据库中。如果删 除了这些数据库,MySQL就不能正常工作。
(3)日期和时间类型 • date:表示日期,输入数据的格式是:yyyy-mm-dd。支持的范围是
'1000-01-01'到 '9999-12-31'。
• time:表示时间,输入数据的格式是:hh:mm:ss。TIME值的范围可 以从'-838:59:59'到'838:59:59'。小时部分会因此大的原因是TIME类 型不仅可以用于表示一天的时间(必须小于24小时),还可能为某个事 件过去的时间或两个事件之间的时间间隔(可以大于24小时,或者甚 至为负)。
在SQL语言创建数据库命令create database中,如果省略语句中 “[ ]”中的所有可选项,其结构形式如下:
mysql>create database name; name表示被创建数据库名,数据库名必须符合以下规则:
– 数据库名必须唯一; – 名称内不能含有“/”及“.”等非法字符; – 最大不能超过64字节。 【例3.1】 创建一个名为Bookstore的数据库。 CREATE DATABASE Bookstore;
(1)数值类型
创建数据库和表的实验步骤
创建数据库和表的实验步骤一.实验名称:创建数据库和表二.目的和要求:(1)了解SQL Server数据库的逻辑结构和物理结构。
(2)了解表的结构特点。
(3)了解SQL Server 的基本数据类型。
(4)了解空值概念。
(5)学会使用T-SQL语句创建数据库和表.。
三.实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
其次创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。
然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
此外还要了解使用T-SQL语句创建数据库、表的方法。
四.实验内容:1、实验题目创建用于学校管理的学生-课程数据库,数据库名为“DB_自己的学号”,包含学生的信息、课程的信息以及学生选修的信息,即数据库中包含下列3个表:(l)Student:学生信息表。
(2)Course:课程信息表。
(3)Sc:选修情况表。
2.实验步骤(1)使用 T-SQL语句创建数据库按照上述要求创建学生-课程数据库。
启动查询分析器→在“查询”窗口中输人创建数据库的T-SQL语句。
单击快捷工具栏的执行图标执行上述语句,并查看执行结果(也可在企业管理器中查看)。
打开查询分析器,在工作区域输入create database DB_**********创建一个以自己学号为名的库,结果如图(1)所示:[创建数据库和表的实验步骤]。
实验1数据库的创建与管理
实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
数据库实验-数据表创建与管理
广州XX学院数据库管理及应用实验报告专业班级计算机181 实验日期2020.4.18 姓名李XX 学号20181532 实验名称数据表创建与管理指导教师王琢(报告内容包括实验目的、实验设备及器材、实验内容、实验步骤、实验结果、实验小结等)一、实验目的要求学生熟练掌握和使用SQL Server Management Studio、T-SQL语句创建和删除数据库,并对数据表和表中的数据进行有效的管理。
二、实验设备及器材Windows平台、SQL Server 2012。
三、实验内容实验3.1在学生管理数据库EDUC中利用T-SQL语句创建数据表。
习题3.2分别使用SQL Server Management Studio、T-SQL语句创建图管理数据库TSGL中的4个数据表的结构,即readers(读者信息表)、books(图书信息表)、borrowinf (借阅信息表)、readtype(读者类型表)。
习题3.3利用SQL Server Management Studio、T-SQL分别向表中输入数据。
习题3.4依照上述实验完成下列操作。
1)用INSERT命令在readers表中插入两条记录。
2)用UPDATE命令将readtype表中教师的限借阅数量改为30、借阅期限改为180天。
3)用DELETE命令删除书名为“数据结构”的图书信息。
四、实验步骤3.11)院系信息表Dept_infoUSE EDUCGOCREATE TABLE Dept_info(Don char(4)primary key,dname char(16)NOT NULL,d_chair char(8),d_address varchar(50),tel char(20))GO2)班级信息表Class_infoUSE EDUCGOCREATE TABLE Class_info(classno char(4)primary key,classname char(16)not null,monitor char(8),instructor char(8),tel char(12),dno char(4),foreign key (dno)REFERENCES Dept_info(dno))GO3)学生信息表Student_infoUSE EDUCGOCREATE TABLE Student_info(sno char(8)primary key,sname char(8)not null,sex char(2),s_native varchar(50),birthday smalldatetime,dno char(4),classno char(4),entime smalldatetime,home varchar(50),tel char(12),foreign key(dno)REFERENCES Dept_info(dno),foreign key(classno)REFERENCES Class_info(classno) )GO4)教师信息表Teacher_infoUSE EDUCGOCREATE TABLE Teacher_info(tno char(8)primary key,tname char(8)not null,sex char(2),birthday smalldatetime,dno char(4),title char(14),home varchar(50),tel char(12),foreign key(dno)REFERENCES Dept_info(dno))GO5)课程信息表Course_infoUSE EDUCGOCREATE TABLE Course_info(cno char(10)primary key,cname char(20)not null,experiment tinyint,lecture tinyint,semester tinyint,credit tinyint)GO6)学生成绩信息表SC_infoUSE EDUCGOCREATE TABLE SC_info(sno char(8)primary key,tcid char(2)not null,score tinyintforeign key(sno)REFERENCES Student_info(sno) )GO7)教师上课信息表TC_infoUSE EDUCGOCREATE TABLE TC_info(tcid char(2)primary key,tno char(8),score tinyint,classno char(4),cno char(10)not null,semester char(6),schoolyear char(10),classroom varchar(50),classtime varchar(50),foreign key(tno)REFERENCES Teacher_info(tno), foreign key(classno)REFERENCES Class_info(classno), foreign key(cno)REFERENCES Course_info(cno))GO3.2使用SQL Server Management Studio建表:1)readers(读者信息表)2)books(图书信息表)3)borrowinf(借阅信息表)4)readtype(读者类型表)T-SQL语句建表(TSGL):(1)readers(读者信息表)USE TSGLCREATE TABLE readers(ReaderID char(10) NOT NULL, Name char(8),ReaderType int, BorrowedQuantity int)(2)books(图书信息表)USE TSGLCREATE TABLE books(BookID char(15) NOT NULL, Name varchar(50),Author char(8),Publisher varchar(30), PublishedDate smalldatetime, Price real NULL)(3)borrowinf(借阅信息表)USE TSGLCREATE TABLE borrowinf(ReaderID char(10) NOT NULL, BookID char(15) NOT NULL, BorrowedDate datetime NOT NULL, ReturnDate datetime)(4)readtype(读者类型表)USE TSGLCREATE TABLE readtype(TypeID int NOT NULL,Name varchar(20) NOT NULL,LimitBorrowQuantity int,BorrowTerm int)3.3利用SQL Server Management Studio、T-SQL分别向表中输入数据。
实验1-4 数据库和表的创建
实验一数据库和表的创建、修改和删除一、实验目的掌握利用SQL Server2000及其交互式查询语言SQL进行数据定义的基本操作(如建立、修改、删除基本表)。
二、实验设备与环境1.硬件:电脑一台。
2.软件:Windows 2000/XP等操作系统,安装SQL Server 2000个人版或企业版。
三、实验内容1.掌握查询分析器及企业管理器的使用。
2.利用查询分析器,使用SQL中的CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
四、实验步骤(一)、利用企业管理器进行操作。
1.使用“”创建数据库“学生数据库”。
在“数据库”上右键单击选择“新建数据库”,如图2.1所示。
图2.1新建数据库2.在“数据库属性”中的名称中,输入“学生数据库”。
可以通过“数据文件”与“事务日志”选项分别查看数据库数据文件与事务日志的属性,如图2.2所示。
图2.2 数据库属性3.在新建的“学生数据库”上右键单击,选择“新建”中的“表”,开始创建数据表,如图2.3所示。
图2.3 新建数据表4.在创建数据表的对话框中,输入数据表的各个字段名称、选择合适的数据类型、长度以及确定该字段是否允许空,如图1.4所示。
图2.4 创建数据表的各个字段5.创建表的主键。
在Student表中Sno为主键,在Sno字段的左边,单击鼠标右键选择“设置主键”。
如果某个表的主键由多个字段联合组成,可以通过Ctrl键将多个字段选中,然后按上述方法设置主键。
如图2.5所示。
图2.5 设置表的主键6.将表建好以后要对其进行保存,在保存表对话框中输入表的名称。
如图2.6所示。
图2.6 保存表7.按照以上步骤,完成课程表Course和选课表SC。
8.表建好以后,可以添加数据。
在“学生数据库”中找到上述建立的Student表,右键单击选择“打开表”中的“返回所有行”,如图2.7所示。
图2.7 选择查看数据表的数据9.通过步骤8可以看到Student表中的所有数据,在表中另起一行,向表中添加新的数据,如图2.8所示。
实验1数据库及数据库中表的建立实验
课程:数据库原理及应用实验题目:数据库及数据库中表的建立实验一、实验目的1. 熟悉SQL Server的环境。
2. 掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解SQL Server进行配置的方法。
3. 掌握查询分析器的基本使用方法以及在查询分析器中实行T-SQL语气的方法。
4. 了解SQL Server 数据库的逻辑结构和物理结构。
5. 学会在企业管理器中创建数据库及查看数据库属性。
6. 学会使用T-SQL语气创建数据库。
7. 了解SQL Server的基本数据类型、空值的概念,以及表的结构特点。
8. 学会使用T-SQL语气和企业管理器创建表结构和修改表结构。
9. 学会使用SQL Server提供的数据完整性功能,并在创建表时定义表的数据完整性。
通过实验进一步理解数据完整性的概念及分类。
二、实验内容1.学会使用企业管理器和查询分析器管理工具。
2.使用企业管理器创建数据库。
3.在查询分析器中使用T-SQL语句创建数据库。
4.使用T-SQL语句创建一个图书管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小,增长方式,文件的增长上限等均可采用默认值。
5.使用T-SQL语句或企业管理器创建课本第二章习题10的SPJ数据库,可以自行定义文件大小,增长方式等。
6.查看物理磁盘目录,理解并分析SQL Server数据库的存储结构。
7.使用企业管理器查看数据库属性。
8.使用T-SQL语句或企业管理器对于(2)-(5)中建立的数据库进行和删除操作。
9.用企业管理器在教务管理数据库JWGL中创建学生表STUDENT,课程表COURSE,学生选课表SC。
10.用TQL语句在MARKET数据库中创建客户信息基本表CUOSTOMERS,货品信息表GOODS,订单信息表ORDERS。
11.使用T-SQL语句在SPJ数据库中建立第2章习题10中的4张表:S,P,J,SPJ.12.使用T-SQL语句在图书借阅管理数据库TSGL中建立图书,读者和借阅3个表。
表的创建和管理实验报告
信息工程学院实验报告课程名称:《数据库原理》实验项目名称:表的创建和管理一、实 验 目 的:1、了解SQL Server 的基本数据类型。
2、学会在企业管理器中创建数据库及表。
3、学会使用T-SQL 语句创建数据库及表。
4、学会在企业管理器中修改表的定义。
5、学会使用SQL 语句修改表的定义。
二、实 验 设 备 与 器 件Win7 Sql server 2008 电脑的画图软件三、实 验 内 容 与 步 骤1、用企业管理器,建立的名为school 的数据库,在数据库中添加如书本79、80页的student,course,sc三张表,并添加数据。
2、用企业管理器将school 数据库备份到school.bak 文件,自行保存好该文件,以备后期使用。
3、用企业管理器删除所建立的sc 表,在查询分析器中用sql 语句删除表student,course ,使用备份文件school.bak 还原数据库。
4、在查询分析器中用sql 语句创建数据库SPJ ,用SQL 语句创建书本71页的P,S,J,SPJ 四张表,用insert命令分别向四张表里面添加如71页所示的数据。
要求:①供应商表:供应商代码为主码②工程表:工程代码为主码③零件表:零件代码为主码④供应零件表:供应商代码、工程代码、零件代码为联合主码;供应商代码为外码,参照供应商表的供应商代码;工程代码为外码,参照工程表的工程代码;零件代码为外码,参照零件表的零件代码。
5、将以上用到的SQL 命令以 “实验一.SQL ”文件的形式保存。
6、用企业管理器备份数据库SPJ 到备份文件SPJ.bak 。
(自行保存好该文件,以备后期使用)7、在企业管理器中用“附加”功能,添加数据库文件examination_Data.MDF ,生成数据库examination 。
8、将数据库examination 中的student 、dept 两张表,导出到新建的EXCEL 文件school.xls 中。
实验一数据库及基本表的建立
实验一数据库及基本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2005;四、实验方法、步骤及结果测试题目1、创建数据库“学生情况”:SQL语句Create database 学生情况查询分析器执行情况:SQL语句及执行结果截图显示找到主数据文件和日志文件,观察大小,并给出截图。
SQL语句EXEC sp_renamedb学生情况, student查询分析器执行情况:SQL语句及执行结果截图显示题目3、创建基本表含义字段名字段类型字段说明宽度学号Sno Char 10 主键,不允许为空姓名Sname char 10 不允许为空性别Ssex char 2 取值为男或女专业Ssp char 20系别Sdept char 20出生日期Sbirth datetime地区来源Sfrom varchar 30变动情况Schg char 10政治面貌Spa char 8 默认团员民族Snation char 8 默认为汉族含义字段名字段类型字段宽度说明课程编号Cno Char 10 主键课程名称Cname Char 10 唯一约束任课教师Tname Char 8Cdept Char 20开课系别学分CCredit Real 0-20含义字段名字段类型字段宽度说明学号Sno Char 10 外键,与cno共同构成主键课程编号Cno Char 10 外键,与sno共同构成主键成绩Grade real 检查约束0-100 备注Remark varchar 50SQL语句create table S(Sno char(10)primary key,Sname char(10)not null,Ssex char(2)check(Ssex='男'or Ssex='女'),Ssp char(20),Sdept char(20),Sbirth datetime,Sfrom varchar(30),Schg char(10),Spa char(8)default'团员',Snation char(8)default'汉族');create table C(Cno char(10)primary key,Cname Char(10)unique,Tname char(8),Cdept char(20),CCredit real check(CCredit>=0 and CCredit<=20));create table Sc(Sno char(10)References C(Cno),Cno char(10)References s(sno),Grade real check(Grade>=0 and Grade<=100))忘记了一个字段,加上:alter table Sc add Remake varchar(50)查询分析器执行情况:SQL语句及执行结果截图显示题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果题目6. 用sql语句将S表中“专业”字段数据类型改为varchar,长度为30并保存结果题目7. 用sql语句删除SC表中的“备注”字段并保存结果生成数据库关系图截图显示题目9*.用sql语句在S中增加约束,要求学号要用S开头,后接4位数字组成的字符串试着插入学号为0001,姓名为张三的学生,给出提示结果的截图alter table sc drop FK__Sc__Sno;update sc set sno='s'+sno;update s set sno='s'+sno;alter table s add constraint ck_s_sno check(sno like's____');alter table sc add constraint fk_sc_sno foreign key(sno)references s(sno);通过sql语句Sno Sname Ssex Ssp Sdept Sbirth Sfrom Schg Spa SnationRemarkS0001 高明男计算机科学与技术CS 1994-03-14 大连团员汉S 0002 东学婷女计算机应用CS 1986-10-24 包头转系团员蒙S 0003 张五男男电子商务MA 1984-2-17 上海退学团员汉S 0004 刘% 男电子商务MA 1985-4-24 巴盟团员汉S 0005 吴惠女软件开发CS 1985-2-10 通辽团员汉S 0006 王涛男软件开发CS 1984-9-8 赤峰团员满S 0007 郭凤丽男应用电子IS 1984-3-2 广州团员蒙S 0008 贾惠男应用电子IS 1983-2-2 深圳团员汉S 0009 刘一% 男软件开发CS 1985-9-9 东莞团员满S 0010 李春刚男计算机应用CS 1985-2-10 河源团员汉李春刚insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0001','高明','计算机科学与技术','CS','1994-03-14','大连',null,default,'汉)'insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0002','东学婷','女','计算机应用','CS','1986-10-24','包头','转系',default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0003','张五男','男’,'电子商务','MA','1984-2-17','上海','退学',default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0004','刘%','男','电子商务','MA','1985-4-24','巴盟',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0005','吴惠','女','软件开发','CS','1985-2-10','通辽',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0006','王涛','男','软件开发','CS','1984-9-8','赤峰',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0007','郭凤丽','男','应用电子','IS','1984-3-2','广州',null,default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0008','贾惠','男','应用电子','IS','1983-2-2','深圳',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0009','刘一%','软件开发','CS','1985-9-9','东莞',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0010','李春刚','男','计算机应用','CS','1985-2-10','河源',null,default,default,'李春刚'');.通过sql语句向C表中添加数据,并保存结果Cno Cname Tname Cdept Ccredit01 计算机应用王晓梅IS 402 高等数学李一MA 603 网页制作张铁柱CS 604 软件工程付大鹏CS 405 数据库白一格CS 6INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('01','计算机应用','王晓梅','IS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('02','高等数学','李一','MA',6)INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('03','网页制作','张铁柱','CS',6) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('04','软件工程','付大鹏','CS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('05','数据库','白一格','CS',6)截图:Sno Cno Grade 0001 02 85 000103 75 000104 90 0002 05 50 0003 01 85 0003 02 75 0004 03 60 0004 02 92 0005 01 85 0005 04 46 0006 05 95 0006 03 52 0007 04 96 0007 05 85 0008 04 76 0008 05 68INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','02',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','03',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','04',90) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('002','05',50) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','02',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','03',60) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','02',92) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','04',46) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','05',95) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','03',52) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('007','04',96)五、实验中出现的问题及解决方案1.创建数据库时常出错,可不删除原数据库,再修改字段,然后再重新定义数据库2.要去除强制外键约束,才能在中间插入值六、思考题1、说明数据库中的表和数据文件的关系。
数据库表的创建、管理和数据操作(实验一),数据库创建
数据库表的创建、管理和数据操作(实验⼀),数据库创建数据库表的创建、管理和数据操作(实验⼀),数据库创建今天我们就以实验的形式对表的创建、管理和数据操作进⾏学习,上课吧。
【实验⽬的】:了解SQL语⾔的使⽤,进⼀步理解关系运算,巩固数据库的基础知识。
【实验要求】:利⽤SQL语⾔进⾏数据库表的各种操作:1.数据库表的创建、修改和删除操作。
2.向表中进⾏数据的插⼊、删除和修改操作。
【实验内容】1. 利⽤数据定义语句在实验⼀创建的stu_DB库中建⽴学⽣管理系统的三个表:Student、Course、SC。
2.利⽤INSERT、UPDATE和DELETE语句对上述三张表的数据进⾏插⼊、更新和删除操作。
3.在stu_DB库中添加Teacher和TC表,对已建⽴的学⽣管理系统中的表添加充⾜的数据(每个表不少于20条),以便完成本实验的后继操作。
【实验步骤】⼀、数据定义(⼀)表的创建在实验⼀创建的数据库stu_DB中分别⽤企业管理器和查询分析器,按下⾯的表结构创建学⽣管理系统的表。
1.利⽤企业管理器创建表(1)打开企业管理器。
(2)选中实验⼀创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗⼝右侧选择新建表,弹出如图所⽰窗体。
(3)在这个窗体中,列名列就⽰表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。
(4)在此处可以为表选择⽂件组,在表中单击右键,选择属性,如果已经为数据库创建了⼀个次要组,可以在属性窗体的表⽂件组中为此表选择⽂件组。
应该把⼀些竞争使⽤的表放于不同的⽂件组中,并且让⽂件组属于不同磁盘,这样可以在表竞争读写时提⾼并发性能。
(5)创建完成后,单击磁盘图标,并为表取⼀个名字。
注意,应该为表取⼀个有意义的名字。
2.⽤Transact_SQL语句创建表语法为:CREATE TABLE[ database_name.[owner].] table_name( {column_name data_type [DEFAULT ‘default_value']|[CONSTRAINT CONSTRAINT_name]}, […n] [IDENTITY [(seed, increment )]])[ON { filegroup | DEFAULT }][TEXTIMAGE_ON {filegroup | DEFAULT }]【例1】⽣成⼀个表名为student的表create table student(sno CHAR(8) primary key,sname CHAR(10) not null,ssex CHAR (2) check (ssex='男'or ssex='⼥'),sage smallint,sdept CHAR (20) default ('计算机系'),)【例2】创建⼀张名为Ta1的表,此表中有3列,第⼀列Pid定义为主键,并且⾃动增长。
数据库和基本表的创建(数据库实验1)
数据库基础与实践实验报告实验一数据库和基本表的创建班级:惠普测试142学号:**********姓名:***日期:2016.9.25一、实验目的与要求⏹熟练掌握使用企业管理器创建和管理数据库。
⏹熟练掌握使用企业管理器创建、修改和删除表。
⏹熟练掌握使用企业管理器插入、修改和删除表数据。
二、实验内容和步骤(一)使用企业管理器完成数据库与基本表的创建1、启动企业管理器,创建产品销售数据库CPXS:数据文件初始大小为5MB,最大大小50MB,增长方式按10%比例增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值。
数据文件操作截图日志文件操作截图2、CPXS数据库包含如下三个表:1)CP(产品编号,产品名称,价格,库存量)2) XSS(客户编号,客户名称,地区,负责人,电话)3)CPXSB(产品编号,客户编号,销售日期,数量,销售额)其中,产品编号,客户编号为两个外键。
操作截图(二)使用SQL完成的实验内容和步骤1、创建名称为数据库sch_id的数据库(其中ID为本人学号的后三位),并使用该数据库。
代码:CREATE DATABASE sch_idUSE sch_id运行结果截图:2、利用SQL语句定义6张基本表:D、T、S、C、TC、TD,并根据要求添加各类约束。
(1) 专业表:D(dno, dn),dno表示专业代码,两个字符,主码;dn表示专业名称,可变长度最多30个字符,不能取空值,不能取重复值。
基本表D创建代码:CREATE TABLE D(dno char(2) PRIMARY KEY,dn varchar(30) UNIQUE NOT NULL)运行结果截图:(2) 教师表:T(tno,tn,sex,age,prof,sal,comm,dno),tno表示教师号,4个字符,主码;tn表示教师姓名,8个字符,不能为空值;sex表示性别,不能为空值,取值只能是“男”或“女”;age表示年龄,整型值,取值范围在20到70之间;prof表示职称,6个字符,取值只能是“教授”、“副教授”、“讲师”、“助教”其中之一。
数据库及数据库表的建立实验报告
实验1 数据库及数据库表的建立实验一.实验目的使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解.熟练掌握简单表的创建与修改.二.实验时数3学时三.实验内容(一)基本表的建立:1.建立一个"学生"表Student,它由学号xh,姓名xm,性别xb,年龄nl,所在系xi五个属性组成,其中学号属性不能为空,并且其值是唯一的.2.建立一个"学生"表Student,它由学号xh,姓名xm,性别xb,年龄nl,所在系xi五个属性组成,其中学号属性不能为空,并创建检查约束(nl>0).3.建立一个"学生"表Student,它由学号xh,姓名xm,性别xb,年龄nl,所在系xi五个属性组成,要求学号为主键,xb有默认的值为'男'4.建立"课程kc"包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键5.建立"成绩登记表cjdj"包括学号xh,程号kch,成绩,要求建立主键及与student及kc表联接的外键(二)基本表的修改:1.在cjdj表中增加一列"任课教师rkjs"2.删除cj表中rkjs一列3.将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)4.增加cjdj表的列cj增加一个约束要求cj>0 and cj<=1005.建立一个临时表,再将其删除6.索引的建立与删除(理解以下语句的含义并上机实践):create unique index stu_xh on student(xh)create index xh_kch on cj(xh asc,kch desc)drop index student.xh_kch四.实验方法在SQL查询分析器"完成以上的任务.并检查所做的操作表现.五.实验步骤:(一)基本表的建立1.建立一个"学生"表Student,它由学号xh,姓名xm,性别xb,年龄nl,所在系xi五个属性组成,其中学号属性不能为空,并且其值是唯一的.程序:CREATE TABLE student1(xh INT PRIMARY KEY,xm CHAR(20),xb CHAR (2),nl INT,xi CHAR(20) );SELECT * FROM student12.建立一个"学生"表Student,它由学号xh,姓名xm,性别xb,年龄nl,所在系xi五个属性组成,其中学号属性不能为空,并创建检查约束(nl>0).程序:CREATE TABLE student2(xh INT PRIMARY KEY,xm CHAR(20),xb CHAR (2),nl INT,xi CHAR(20),CHECK(nl>0));SELECT *FROM student23.建立一个"学生"表Student,它由学号xh,姓名xm,性别xb,年龄nl,所在系xi五个属性组成,要求学号为主键,xb有默认的值为'男'程序:CREATE TABLE student3 (xh INT PRIMARY KEY, xm CHAR(20),xb CHAR (2) DEFAULT'男', nl INT,xi CHAR(20));SELECT *FROM student34.建立"课程kc"包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键CREATE TABLE kc(kch INT PRIMARY KEY,kcmc CHAR(20),xxkc CHAR (2),xf INT );select *from kc5.建立"成绩登记表cjdj"包括学号xh,程号kch,成绩,要求建立主键及与student及kc表联接的外键程序:CREATE TABLE ciji(xh INT ,kch INT,cj CHAR (20),PRIMARY KEY(xh,kch),FOREIGN KEY(xh) REFERENCES student(xh), FOREIGN KEY(kch) REFERENCES kc(kch), );SELECT *FROM student2(二)基本表的修改:1.在cjdj表中增加一列"任课教师rkjs"程序:alter table cjadd rkjs char(20);select *from cj;2.删除cj表中rkjs一列程序:alter table cijidrop column rkjs ;select *from ciji;3.将student表的xm一列允许空值的属性更改成不允许为空。
实验一 数据库及基本表的建立
实验一数据库及基本表的建立一、实验目的1、初步熟悉SQL SERVER的使用环境,掌握查询分析器和对象资源管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、练习使用SQL语句、对象资源管理器创建数据库;2、练习使用SQL语句、对象资源管理器创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2005;四、实验方法、步骤及结果测试题目1、创建数据库“学生情况”:题目3、创建基本表alter table Salter column Sno char(10);题目5、用sql语句在“学生”表中添加一格“备注”字段并保存结果alter table Sadd Sremark char(50) null;题目6. 用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果alter table Salter column Ssp char(30);题目7. 用sql语句删除“学生成绩”表中的“备注”字段并保存结果alter table Scdrop column Remark;2.通过sql语句向C表中添加数据,并保存结果表S:表C:3.添加学生成绩五、实验中出现的问题及解决方案六、思考题1、说明数据库中的表和数据文件的关系。
2、通过sql语句做如下修改:(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb(2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mb.(1)ALTER DATABASE STUDENTMODIFY FILE (NAME = STUDENT, SIZE = 20mb, MAXSIZE = 20mb , FILEGROWTH = 2mb)(2)ALTER DATABASE STUDENTMODIFY LOG FILE( NAME = STUDENT_log,SIZE = 2MB,MAXSIZE = 10MB,FILEGROWTH = 1MB));。
数据库原理实验报告
计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:*****姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。
2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。
3、熟练掌握备份和还原数据库。
二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。
【精品】实训一数据库和表的创建
【关键字】精品实训一数据库和表的创建实训目的(1) 掌握数据库和表的基础知识。
(2) 掌握使用企业管理器和Transact-SQL语句创建数据库和表的方法。
(3) 掌握数据库和表的修改、查看、删除等基本操作方法。
实训内容和要求1.数据库的创建、查看、修改和删除(1) 使用企业管理器创建数据库创建成绩管理数据库Grademanager,要求见表10-1。
表10-1 Grademanager数据库参数表(2) 查看与修改数据库属性① 在企业管理器中查看创建后的grademanager数据库,查看grademanager_data.mdf、grademanager_log.ldf两个数据库文件所处的文件夹。
② 使用企业管理器更改数据库。
更改的参数见表10-2。
表10-2 要更改的参数表(3) 使用企业管理器删除该数据库(4) 使用Transact-SQL命令创建上述要求的数据库(5) 使用Transact-SQL命令查看和修改上述要求的数据库(6) 使用Transact-SQL命令删除该数据库2.表的创建、查看、修改和删除(1) 在Grademanager数据库中创建如表10-3、表10-4和表10-5所示结构的表。
表10-3 Student表的表结构表10-4 Course表(课程名称表)的表结构表10-5 SC表(成绩表)的表结构(2) 向表10-3、表10-4和表10-5输入数据记录,见表10-6、表10-7和表10-8。
表10-6 学生关系表Student表10-7 课程关系表Course表10-8 成绩表SC(3) 修改表结构。
① 向student表中增加“入学时间”列,其数据类型为日期时间型。
② 将student表中的sdept字段长度改为20。
③ 将student表中的Speciality字段删除。
(4) 删除student表。
思考题(1) SQL Server的数据库文件有几种?扩展名分别是什么?(2) SQL Server 2000中有哪几种整型数据类型?它们占用的存储空间分别是多少?取值范围分别是什么?(3) 在定义基本表语句时,NOT NULL参数的作用是什么?(4) 主码可以建立在“值可以为NULL”的列上吗?实训二单表查询实训目的(1) 掌握SELECT语句的基本用法。
实验一建立数据库和基本表
实验⼀建⽴数据库和基本表建⽴数据库和基本表实验报告⼀、实验项⽬名称建⽴数据库和基本表⼆、实验⽬的1.熟悉SQL查询分析器和企业管理器的结构与使⽤⽅法;2.理解SQL Server数据库的存储结构;3.掌握SQL Server 数据库的建⽴⽅法和维护⽅法;4.掌握表的建⽴⽅法及表结构的修改⽅法。
三、实验环境1.硬件:⽹络实验室2.软件:Windows98/2000等操作系统,安装SQL Server 2000个⼈版或企业版四、实验内容1.创建指定数据⽂件和事务⽇志⽂件的数据库test1,即指定⼀个数据⽂件和⼀个事务⽇志⽂件,并把它们安排在不同的硬盘上。
2.指定多个数据⽂件和事务⽇志⽂件,创建数据库test2,具体要求是:使⽤三个数据⽂件和两个事务⽇志⽂件创建数据库,主数据⽂件是列表中的第⼀个⽂件。
3.修改建⽴的test1数据库,为之添加⼀个5Mb⼤⼩的新数据⽂件。
4.修改test1数据库,将其中的主数据⽂件增加5MB空间。
5.删除建⽴的数据库。
6.建⽴如图所⽰4个表:7.客户表产品表订购单表订单名细表五、实验步骤(Ⅰ)利⽤企业管理器创建、修改、删除数据库以及创建基本表创建指定数据⽂件和事务⽇志⽂件的数据库test1,图Ⅰ.1.1常规选项设置⽂件名图Ⅰ.1.2设置数据⽂件,存放在C盘图Ⅰ.1.3设置⽇志⽂件,存放在D盘2.指定多个数据⽂件和事务⽇志⽂件,创建数据库test2。
图Ⅰ.2.1使⽤数据⽂件,存于C盘test2_Data为主数据⽂件图Ⅰ.2.2使⽤两个⽇志⽂件,存于D盘3.修改建⽴的test1数据库,为之添加⼀个5Mb⼤⼩的新数据⽂件。
4.删除建⽴的数据库。
图Ⅰ.4.1选中数据库图Ⅰ.4.2选确定,删除数据库5.利⽤企业管理器建⽴数据库的4个表:图Ⅰ.5.1建⽴客户表图Ⅰ.5.2建⽴产品表图Ⅰ.5.3建⽴订购单表图Ⅰ.5.4建⽴订单明细表(Ⅱ)利⽤查询分析器创建、修改、删除数据库以及创建基本表1.创建数据库SQL代码:Create database test01On(name=test01,filename=' C:\⽹络数据库\test01.mdf',size=10,maxsize=unlimited,filegrowth=10%)log on(name=test01_log,filename=' D:\⽹络数据库\test01.ldf', size=1,maxsize=5,filegrowth=1)图Ⅱ.1创建数据库2.修改数据库SQL代码:ALTER DATABASE test01,ADD FILE(NAME = ' test01_data2, FILENAME =' test01_data2.ndf' , SIZE = 10mb ,FILEGROWTH = 1mb )TO FILEGROUP PRIMARY,3.修改数据库DROP DATABASE test014.创建基本表创建客户表代码及截图创建产品表代码代码:create table 产品表(产品号Char(8),产品名称varchar(40),产品规格Char(40),单价smallmoney,primary key (产品号),)图产品表创建订购单表代码create table 订购单表(客户号Char(8),订单号Char(8),订购⽇期datetime,primary key (订单号),创建订单明细表代码create table 订单明细表(订单号Char(8),序号tinyint not null,产品号Char(8),数量smallint,primary key (订单号),)图订单明细表4.删除数据库六、源程序清单、测试数据、结果实验中编写的源程序和测试数据以及程序运⾏结果见“五、实验步骤”。
实训一数据库创建与管理
实训一数据库创建与管理1.1实训目的●掌握使用企业管理器创建数据库的方法。
●了解使用查询分析器创建数据库的方法。
1.2实训要求●掌握SQL Server2000的服务管理器的使用。
●通过使用企业管理器创建数据库,能熟练地按照题目要求对数据库的各项参数进行设置及修改。
●通过使用查询分析器创建数据库,能理解数据库的各项参数的关键字及含义。
1.3 实训内容及步骤1启动SQL Server 2000服务管理在成功地安装SQL Server 2000之后,可以使用下面的方法启动SQL Server 2000服务管理。
从“开始”菜单→“程序”→“Microsoft SQL Server”→“服务管理器”,打开SQL Server 2000服务管理器见图1-1。
图1-1 启动SQL Server 2000服务2暂停SQL Server 2000服务管理在启动SQL Server服务以后,如果需要暂停服务,可以单击暂停按纽,则暂停SQL Server服务管理。
3停止SQL Server 2000服务管理在启动SQL Server服务以后,如果需要停止服务,可以单击停止按纽,则停止SQL Server服务管理。
4使用企业管理器创建数据库使用企业管理器创建自己的用户数据库,可以采用两种方法:第一种,使用创建数据库向导;第二种,在控制面板树上选择数据库,然后选择新建数据库菜单命令直接创建用户数据库。
在企业管理器中直接创建用户数据库的步骤如下:(1)打开企业管理器;(2)在控制面板目录中选择“数据库”节点;(3)在“数据库”节点上单击右键,然后在弹出的菜单中选择“新建数据库”,出现“数据库属性”对话框。
在“数据库属性”对话框中有三个标签页,分别是“常规”、“数据文件”和“事务日志”,在完成这三个标签页的内容设置之后,就完成了数据库的创建工作。
例1:在C盘下创建Student数据库,数据文件初始大小为3M,自动增长,每次增长10%,最大是20MB;事务日志文件初始大小为2M,自动增长,每次增长1M,最大是20MB。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.实验内容、步骤以及结果
1.利用图形用户界面创建,备份,删除和还原数据库和数据表
(1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增
长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按
1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图2.1-图2.4的四张表
(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。
(提示:
最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)
(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为
mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5) 删除已经创建的工程项目表(J表)。
(6) 删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)
(7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库。
(还原数据库)
(8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)
(9) 将SPJ数据库的文件大小修改为100MB。
(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。
2. 利用SQL语言创建和删除数据库和数据表
(1) 用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。
不用输入数据。
(3) 用SQL中的backup 语句将数据库Student备份到一个bak文件。
(提示:backup database student to disk)
--备份:
BACKUP DATABASE "student"TO DISK ='C:\lzcDB1\mybak1015.bak'
(4) 用SQL语句删除创建的表。
drop table S
drop table C
drop table SC
(5) 将Student数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份(复制)后,用SQL语句删除创建的数据库。
(6) 用SQL中的sp_attache_db语句完成对数据库Student的附加。
(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等,具体用法:exec sp_attache_db )
--将student 中的两个文件附加到当前服务器。
EXEC sp_attach_db @dbname = N'student',
@filename1 = N'C:\lzcDB1\student.mdf',
@filename2 = N'C:\lzcDB1\student_log.ldf'
(7) 先删除Student库,再用SQL中的restore 语句还原刚才备份的数据库Student。
(提示:restore database student from disk)
(8) 用SQL语言修改数据库Student,给Student数据库添加一个文件组TestFG1,然后将两个5 MB 的文件添加到该文件组。
(提示:alter database)
(9) 修改S表,增加一个表示联系电话的字段sPhoneNo,数据类型为字符串类型。
ALTER TABLE S
ADD sPhoneNo char(10)
(10) 利用SQL Server Management Studio的生成脚本功能(选中Student库->右键菜单“任务”-> “生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。
生成代码:
USE[student]
GO
/****** Object: Table [dbo].[SC] Script Date: 10/15/2016 17:17:34 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE[dbo].[SC](
[sno][char](10)NOT NULL,
[cno][char](10)NOT NULL,
[cgrade][smallint]NULL,
PRIMARY KEY CLUSTERED
(
[sno]ASC,
[cno]ASC
)WITH(PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF,
IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS = ON)ON[PRIMARY]
)ON[PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[S] Script Date: 10/15/2016 17:17:34 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE[dbo].[S](
[sno][char](10)NOT NULL,
[sname][nvarchar](20)NULL,
[ssex][nchar](2)NULL,
[sbirth][date]NULL,
[sdept][nvarchar](20)NULL,
[sPhoneNo][char](10)NULL,
PRIMARY KEY CLUSTERED
(
[sno]ASC
)WITH(PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF,
IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS = ON)ON[PRIMARY]
)ON[PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[C] Script Date: 10/15/2016 17:17:33 ******/ SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE[dbo].[C](
[cno][char](10)NOT NULL,
[cname][nvarchar](20)NULL,
[cpno][char](10)NULL,
[ccredit][int]NULL,
PRIMARY KEY CLUSTERED
(
[cno]ASC
)WITH(PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF,
IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS = ON)ON[PRIMARY]
)ON[PRIMARY]
GO
SET ANSI_PADDING OFF
GO
相同点:语法基本上是相同的,属性的命名和功能也是一样的。
不同点:生成的代码中包含一些对字体的设置和一些环境的设置,自己写的语句里没有。
生成的代码有日期等信息。
自己写的语句是分开执行的,生成的脚本是按GO语句分段执行的。
生成的脚本很多名称都用方括号括起来了。
二.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)
除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。
问题1. 在备份数据库文件的时候会提示文件正在被使用,无法复制。
解决方案:复制前将相应数据库分离或选择停止MSSQLSEVERCE,见下图。
问题2:将数据库文件从一台电脑复制到另一台电脑上,想要附加数据库时出错:
解决方案:打开数据库文件的属性选项卡,将Authentical Users的权限修改成完全控制。
感受:刚开始做实验时遇到全新的平台时一筹莫展,助教也对平台不熟悉,经过网上查询了相关操作,逐渐摸索才渐渐入门。
课本上只介绍了SQL语言的很小一部分,之前听课时一直对SQL语言掌握的不明不白的,经过此次实验,终于算是掌握了建数据库和修改数据的全部操作,对SQL语言的理解也更深入了。
批阅者:
批阅日期:实验成绩:批注:。