SQL数据库及表的创建管理.docx
- 文档编号:8781775
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:14
- 大小:546.70KB
SQL数据库及表的创建管理.docx
《SQL数据库及表的创建管理.docx》由会员分享,可在线阅读,更多相关《SQL数据库及表的创建管理.docx(14页珍藏版)》请在冰豆网上搜索。
SQL数据库及表的创建管理
实验一SQLServer数据库及表的创建管理
【实验目的与要求】
目的:
1.熟悉SQLServerManagementStudio环境。
2.了解SQLServer2012数据库的逻辑结构和物理结构。
3.学会使用SSMS创建和管理数据库。
4.了解表的结构特点。
5.掌握SQLServer的基本数据类型。
6.理解数据完整性的意义。
7.学会使用SSMS创建和管理基本表。
8.熟练掌握使用SQL数据定义语言创建基本表的方法。
9.掌握使用SQL数据定义语言对基本表进行修改与删除的方法。
要求:
1.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作。
2.使用查询分析器,完成用SQL语句创建、删除和修改基本表。
3.认真独立完成实验内容。
4.实验后做好实验总结,根据实验情况完成实验报告。
【实验环境】
Windows10系统+SQLServer2012
【实验内容】
1.设有一学籍管理系统,使用SSMS创建名为EDUC的数据库。
主数据文件逻辑文件名为student_data,初始大小为10MB,最大可增长到50MB,数据库自动增长,增长方式是按5%比例增长。
日志文件逻辑文件名为student_log,存放路径均为“E:
\sql_data”,初始大小为2MB,最大可增长到5MB,增长方式是按1MB自动增长。
2.在数据库EDUC中,创建如下几个表:
表2.1student表(学生信息表)
6
4
3.修改列属性将student表中的birthday字段设为Notnull。
4.添加列在course表中添加一列year,类型为varchar(4),默认置为空。
5.添加记录根据实验指导书中所给的内容添加记录。
6.根据建立的数据库EDUC,在查询分析器中使用SQL语句创建5张新表。
分别为:
student1、course1、student_course1、teacher1和teacher_course1。
7.在查询分析器中用SQL语句删除表teacher_course1和表teacher1。
8.用SQL语句将student表中的属性snochar(8)改为varchar(20)类型。
9.用SQL语句在course表中添加year字段,数据类型名为varchar(4),并添加属性值的范围为“第一、第二、第三、第四”约束。
10.用SQL语句将course表中的year字段删除。
11.以上创建表的SQL语句以.SQL文件的形式保存在磁盘上。
【实验方法和步骤】
1.在开始菜单中选中SQLServerManagementStudio,启动SSMS。
启动后,单击“连接”按钮,进入SSMS窗口。
如下图所示:
图1
2.在左侧“对象资源管理器”处,右击数据库按钮,点击新建数据库。
根据实验内容1中的要求填写数据库名称EDUC以及数据库文件中的内容,完成后点击确定。
如下图所示:
图2
3.刷新对象资源管理器,点击展开数据库,右击“表”,选择新建表。
根据实验内容2中的要求,建立5张新表,并填写表中列名、数据类型以及是否为空值。
如下图所示:
表1—1
填写好列名、数据类型及允许Null值三项内容后,点击sno左侧黑三角,选中该行,并点击左上方设置主键按钮,将sno(学生学号)设置为该表的主键。
关闭,保存表名为“student”。
表1—2
同表1—2一样,填写好表中内容,并将cno(课程编号)设置为该表的主键。
关闭,保存表名为“course”。
表1—3
填写好列名、数据类型及允许Null值三项内容后,点击sno左侧黑三角,选中该行,再按shift键,向下拖动鼠标,直至选中sno、tcid两行为止。
再点击左上方设置主键按钮,将(sno,tcid)(学生学号,上课编号)设置为该表的主键。
关闭,保存表名为“student_course”。
表1—4
同上述3张表一样,按照要求填写内容,并将tno(教师编号)设置为该表的主键。
关闭,保存表名为“teacher”。
表1—5
根据实验要求填写好列名、数据类型及允许Null值三项内容后,点击tcid左侧黑三角,选中该行,点击左上方设置主键按钮,将tcid(上课编号)设置为该表的主键。
右击空白处,点击“关系”,添加外键。
打开对话框后,点击“添加”,再点击右侧“表和列规范”一行处的“···”,打开后,左侧主键表中选择teacher,下方的内容选择tno,右侧外键表选择teacher_course,内容选择tno,点击确定,关闭该对话框。
再点击“添加”,按同样的方法,左侧主键表中选择course,下方的内容选择cno,右侧外键表选择teacher_course,内容选择cno,点击确定。
关闭所有对话框,关闭并保存表名为“teacher_course”。
如下图所示:
图3
4.修改student表中birthday列的属性。
右击student表子目录,单击“设计”,将属性的“允许Null值”取消勾选。
如遇以下情况:
图4
单击文本框中的“工具”,单击“选项”,再单击“设计器”,将“阻止保存要求重新创建表的更改”一项,取消勾选,即可修改表中列的属性。
修改完成后如下图所示:
图5
5.右击展开course子目录,点击“设计”,空白处点击鼠标右键,再次点击“插入列”,并向其中添加内容。
列名为year、数据类型为varchar(4)并且允许为空,保存并关闭。
如表1—1所示。
6.根据实验要求添加各表记录。
右击student,点击“编辑前200行”,即可输入数据,输入完成一项内容后,按tab键,即可输入下一内容,一个元组输入完成后,点击tab,便可保存及跳转到下一个元组继续输入。
其他表添加记录与上述操作类似。
添加记录后,各表如下图所示:
图6
图7
图8
图9
图10
7.右击EDUC数据库,点击“新建查询”,在查询分析器中根据如上表格结构,输入SQL语句创建5张新表。
代码实现如下:
创建student1表:
createtablestudent1(
snochar(8)NOTNULL,
snamechar(8)NOTNULL,
sexchar
(2),
birthdaysmalldatetime,
dnochar(6),
spnochar(4),
clssnochar(4),
entimesmalldatetime,
constraintpk_student1primarykey(sno))
创建course1表:
createtablecourse1(
cnochar(6)NOTNULL,
spnochar(4),
cnamechar(20)NOTNULL,
ctnotinyint,
experimenttinyint,
lecturetinyint,
semestertinyint,
credittinyint,
constraintpk_course1primarykey(cno))
创建student_course1表:
createtablestudent_course1(
snochar(8)NOTNULL,
tcidsmallintNOTNULL,
scoretinyint,
constraintpk_student_course1primarykey(sno,tcid))
创建teacher1表:
createtableteacher1(
tnochar(5)NOTNULL,
tnamechar(8)NOTNULL,
sexchar
(2),
birthdaysmalldatetime,
dnochar(6),
pnotinyint,
homevarchar(40),
zipcodechar(6),
telvarchar(40),
emailvarchar(40),
constraintpk_teacher1primarykey(tno))
创建teacher_course1表:
createtableteacher_course1(
tcidsmallintNOTNULL,
tnochar(5),
spnochar(4),
classnochar(4),
cnochar(6),
semesterchar(6),
schoolyearchar(10),
classtimevarchar(40),
classroomvarchar(40),
weektimetinyint,
constraintpk_teacher_course1primarykey(tcid),
constraintak_teacher_course1foreignkey(tno)referencesteacher1tno,
constraintak_teacher_course1foreignkey(cno)referencescourse1cno)
8.在查询分析器中用SQL语句删除表tearch_course1和表teacher1。
代码如下:
droptableteacher_course1
droptableteacher1
由于表tearch_course1和表teacher1是由上述SQL语句建立而成,并未添加外键。
如表tearch_course1中已经添加外键tno,则必须按照上述顺序执行,不能调换顺序。
9.用SQL语句将student1表中的属性snochar(8)改成varchar(20)类型,由于sno为主键,则需要先删除主键,修改后再添加sno为主键并添加名为pk_student1的约束。
代码实现如下:
altertablestudent1
dropconstraintpk_student1
altertablestudent1
altercolumnsnovarchar(20)notnull
altertablestudent1
addconstraintpk_student1primarykey(sno)
所得结果,如下图所示:
图11
10.添加字段及约束。
在查询编辑窗口输入:
altertablecourse
addyearvarchar(4)constraintyearcheck(year='第一'or
year='第二'oryear='第三'oryear='第四')
然后执行。
所得结果如下图所示:
图12
11.删除列。
在查询编辑窗口输入
altertablecoursedropconstraintyear
altertablecourse
dropcolumnyear
所得结果如下图所示:
图13
12.将以上创建表的SQL命令以.SQL文件的形式保存在E盘sql_data文件夹里。
【实验结果】
1.实验操作1—5结果如下图所示:
上述5张图中为用可视化窗口的方法建立的表,展示其子目录和一些约束情况。
2.实验操作6—11结果如下图所示:
其他关于删除,添加,修改表属性、内容等操作已在实验过程中详细展示。
上图所示为删除表tearch_course1和表teacher1的前后对比。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 创建 管理