实验二数据库关系模式
实验名称:数据库关系模式
实验课时:2课时
实验地点:艺术楼417
机器编号:ST07
实验时间: 2018年11月 9日15:30-17:10 第10周星期四
班级:
学号:
姓名:
一、实验目的
熟悉 SQL Server 图形化界面的基本操作。
二、实验要求
在图形化界面和查询分析器(应用 SQL 语言)两种环境下实现数据库关系模式设计:
(1)创建、修改、查看表的结构。
(2)建立和修改表的主码、外码、索引及其它约束条件。
(3)对所创建的表进行插入、修改和删除元组的操作,删除所创建的表。
三、实验环境
(1)硬件设备:PC机一台
(2)操作系统:Windows 10
(3)应用工具:SQL Server
四、实验内容:
1.创建表
(1)使用 SQL Server Management Studio,如图 2.1 所示,点开要创建表的数据库,右键点击数据对象“表”,选择“新建表”。
在弹出的表的新建窗口中填入相关表信息(列名、数据类型、是否为 null)。
表信息填写好之后,如果有
需要就可以设置主键。
设置方法为,首先选中作为主键的列,如果是多个列,可以按 ctrl 键多选;选中列后,如图 2.2 所示,点击钥匙图标,或者右键菜单选择“设置主键”。
点击磁盘图标或者关闭窗口时会提示输入表名,创建新表成功。
外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。
创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。
也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。
点击关系图标或者右键菜单选择“关系”,则弹出关系对话框,如图 2.3 所示,点击“添加”按钮新建外键联系。
点击“表和列规范”右侧的“...”按钮,弹出如图 2.4 所示界面,主表的列必须是主键或者唯一约束的列,从表的列必须与主表的列数据类型和长度一致,即图 2.1 新建表外键。
点击管理索引和键的图标或者右键菜单选择“索引/键”,弹出如图 2.5 所示对话框,可以创建索引或者 unique 约束,缺省已经有一个主键索引。
图 2.5 管理索引/键点击管理 CHECK 约束的图标或者右键菜单选择“CHECK 约束”可以创建 check 约束。
(2)如图 2.6 所示,点击“新建查询”打开 SQL 语言编辑器,可以在窗口内编写 SQL语句或者执行 SQL 脚本文件。
在执行 SQL 语言之前,要注意当前的数据库,可以通过下拉框切换数据库,也可以通过在窗口内执行命令“use 数据库名”切换数据库。
创建表
CREATE TABLE [数据库名.拥有者.]<表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ]
);
主键约束(PRIMARY KEY),用来强制数据的实体完整性,唯一标识表中的每行记录。
每个表只能有一个主键,可以是一列或多列的组合。
主键值必须唯一并且不能为空。
唯一约束(UNIQUE) ,用来强制数据的实体完整性,限制表的非主键列中不允许输入重复值。
一个表中可以定义多个唯一约束,可以是一列或多列的组合。
空值可以出现在某列中一次。
外键约束(FOREIGN KEY),用来强制数据的参照完整性,维护相关联的表之间数据的一致性关系。
可以是一列或多列的组合,虽不是该表的主键,但却是另一个表的主键。
检查约束(CHECK) ,用来强制数据的域完整性,使用逻辑表达式来限制表中的列可以接受哪些数据值。
默认约束(DEFAULT) ,用来强制数据的域完整性,为表中某列建立一个默值。
图 1.1 SQL语句创建s0523和c0523表
图 1.2 设置主键
2.查看及修改表结构
(1)使用 SQL Server Management Studio,右键选择要操作的表,右键菜单中选择“设计”,弹出表结构,并可以修改。
但是修改后会出现图 2.7 所示的错误,需要选择菜单“工具”->“选项”,在如图 2.8 所示的界面中,选择“Designers”,取消“阻止保存要求重新创建表的更改”选项。
(2)使用 SQL 语言,查看表结构,使用系统存储过程“sp_help 表名”。
修改表结构
ALTER TABLE 表名
{ [ ALTER COLUMN /*对现有字段属性进行修改*/
字段名新数据类型 [(精度 [ , 小数位数] )]
[ NULL | NOT NULL ]
| ADD /*添加字段*/
{字段定义|字段名 AS 计算字段表达式}[,…n]
| DROP COLUMN 字段名[,…n] /*删除字段*/
| ADD CONSTRAINT 约束名称 /*添加约束*/
| DROP CONSTRAINT 约束名称 /*删除约束*/
3. 查看及更新数据
(1)使用 SQL Server Management Studio,右键选择要操作的表,右键菜单中选择“选择前1000 行”来查看数据;选择“编辑前 200 行”来更新数据。
(2)数据查询采用select 语句;数据更新,采用insert into,update,delete 等语句。
图 1.3 查询选修01号课程的人名
五、实验任务
1. 采用 SQL 语言创建两个基本表,表结构说明如下:
学生 s 学号后四位(sno,sname,age,sex),其中 sno 为主码,sname 不重名,sex 非空缺省为‘男’。
课程 c 学号后四位(cno,cname,cpno,ccredit),其中 cno 为主码,cpno 为外码,参照 cno。
2. 采用 SQL Server Management Studio 创建一个基本标,表结构说明如下:选修 sc 学号后四位(sno,cno,grade) ,其中 sno,cno 组合为主码;sno 为外码,参照 s学号后四位表的 sno 字段;cno 为外码,参照 c 学号后四位表的 cno 字段;grade 范围为 0到 100。
3. 采用 SQL 语句修改表结构,向 s 学号后四位表中增加一个字段 addr,类型为变长字符串,长度为 100;修改 c 学号后四位表的 cname 字段,增加约束条件该字段为非空。
4. 向三个表中分别填写一些测试数据,同时进行修改和删除的操作,要求课程不少于 4 门,选修记录不少 10 条,学生信息(录入本班同学信息,要求学号和姓名准确,必须报告本人,不少于 10 条)。
注意:为了方便后续实验,最好对数据库数据进行备份;或者创建 SQL 语
言脚本文件。
图1.4查看设置的S0523表
图1.5设置Cpon可以取值为空
图1.6输入c0523表的每个元组
图1.7添加addr并且用语句输入s0523每个元组
图1.7用SQL语句输入SC0523表每个元组
小结:
通过这次上机实验,我有以下收获:
对SQL Server的创建数据库,创建表运用SQL语句,以及设置主键,添加约束关系有了更深层次的了解,并且运用自如。
熟悉 SQL Server 图形化界面的基本操作。
并且在表中输入数据,以及运用SQL语句输入信息,对单表,连接,嵌套的查询,更改,删除运用自如,熟悉如何在 SQL Server 图形化界面下建立数据库和表。