数据库及数据库表的创建与管理
- 格式:doc
- 大小:33.50 KB
- 文档页数:3
《数据库技术》上机实验
实验三数据库及数据库表的创建与管理
一、实验目的
熟悉和掌握数据库的创建和连接方法;
熟悉和掌握数据表的建立、修改和删除;
加深对表的实体完整性、参照完整性和用户自定义完整性的理解。
二、实验软件平台
Windows XP/7/8/10操作系统;
安装了SQL SERVER
三、实验内容
背景材料:在以下实验中,使用学生-课程数据库(school),它描述了学生的基本信息、课程的基本信息及学生选修课程的基本信息。(要求使用命令的方式创建)
1.创建学生-课程数据库create database school
Sno:char(9) Sname: varchar(6) Ssex:char(2) Sage:tinyint Sdept:char(2) Sno为主键,姓名不能为空,性别只能取男或女,年龄大于等于0。
Cno为主键,课程名不能为空,先行课可以为空,学分大于等于0
Sno:char(9) Cno:varchar(3) grade: float
主键是课程号和学号思考?成绩可以为空么?为什么?
5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。[文件操作的方
式直接保存即可,这部分不用写在“四实验结果”中]
温馨提示:到这部分内容做完为止,可以用数据库的备份功能将所建好的数据库及数据库表完全备份下来,下周的实验课程会利用这个表结构。或者直接保存题5的SQL语句也可以,下次课直接执行这些sql文件,也可以达到保存的目的。
6.在表S上增加“出生日期”属性列。
7.删除表S的“年龄”属性列。
8.删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
9.修改C表,将学分的约束改为0到5之间
10.修改S表的性别的类型,设置为char(1),并将约束改为0和1
四实验结果
1 create database school
2 create table s(
sno char(9) primary key,
sname varchar(6) not null,
Ssex char(2) check([Ssex]='男'or[Ssex]='女'),
sage tinyint check(sage>0),
)
3 create table C(
cno varchar(3) primary key,
cname varchar(20) not null,
Cpno varchar(3),
Ccredit tinyint check(ccredit>0),
)
4 create table SC(
sno char(9) primary key,
Cno varchar(3) not null,
Cpno varchar(3),
Ccredit tinyint check(ccredit>0),
)
6 alter table s
add bith varchar(15)
7 alter table S
drop column Sage
8 drop table SC
9 alter table C
Add constraint thjr
Check(Ccredit>=0 and Ccredit<=5)
10 alter table s
alter column ssex char(1)
alter table s
add constraint lllll
check(ssex=0 or ssex=1)
五思考题
1、定义表结构是对数据模型的哪个要素进行描述,对主属性有什么要求?
答:完整性约束
可以唯一标识一个元组的最少的属性
2、修改表结构时,能否修改已定义属性的参数?新增加的属性列能否定义为非空?为什么?答:数据库表,修改表不能修改已经定义的属性参数,但是可以通过修改表的结构来修改已定义的性参数。
不能
表中原本有数据(存在很多行),在你新增加非空字段后,原来存在的行中的数据本来为空,如果又要求它非空,这样就矛盾了。