lab3_5 创建和管理数据表(数据完整性)

合集下载

《表的创建与管理》上机实验

《表的创建与管理》上机实验

《表的创建与管理》实验一、实验目的与要求1、掌握使用T-SQL语句创建数据表和`数据表完整性约束的定义。

2、熟悉表的结构和列所使用的数据类型。

3、理解数据表完整性含义及其定义的方法。

二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容(一)用户自定义数据类型address varchar(40) null(二)表的创建与完整性定义StudentInfo(学生信息表)TeacherInfo(教师信息表)CourseInfo(课程信息表)StudentCourse(学生选课表)Teaching(教学表)RankPaymetn(职称课酬表)1、使用T-SQL语句创建以上数据表。

同时定义主键约束:StudentInfo 表主键Sno;TeacherInfo表主键Tno;CourseInfo表主键Cno;RankPayment表主键Trank和非空约束。

2、使用T-SQL语句定义以上数据表的其他约束①对CourseInfo表的Cname进行唯一性约束(unique约束)。

②对StudentCourse表定义外键约束:Sno引用StudentInfo表中的Sno,Cno引用CourseInfo表中的Cno。

③对TeacherInfo表定义外键约束:Trank引用RankPayment表中的Trank。

④对Teaching表定义外键约束:Tno引用TeacherInfo表中的Tno,Cno引用CourseInfo表中的Cno。

⑤对StudentCourse表的Score进行CHECK约束:Score必须在0至100之间。

⑥对StudentInfo表中的Ssex和TeacherInfo表中的Tsex进行默认值定义,默认值为“男”或“male”四、实验过程五、实验总结简述实验完成情况、实验过程中各自碰到的问题、各自对实验目的掌握情况。

第二次数据库实验-创建和修改数据表及数据完整性

第二次数据库实验-创建和修改数据表及数据完整性

《数据库原理与应用》实验报告(实验名称:创建和修改数据表及数据完整性)专业班级学号学生姓名指导老师怀化学院计算机科学与技术系2111 年10 月 11日《数据库原理与应用》实验报告实验名称:创建和修改数据表及数据完整性一、实验目的熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。

要求学生熟练掌握使用企业管理器和T—SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE语句对数据表进行管理。

二、实验内容:1.在数据库company中创建以上五张表,并设置各表的主键。

2.在销售主表sales中添加字段“发票号码”invoice_no,char(10),NOT NULL。

3.添加外键约束:a)在销售主表sales的业务员编号字段sale_id上添加外键约束,参照字段为员工表employee中的字段员工编号emp_no,约束名为FK_sale_id。

b)在销售主表sales的客户号字段cust_id上添加外键约束,参照字段为客户表customer中的字段客户号cust_id,约束名为FK_cust_id。

c)在销售明细表sale_item的订单编号字段order_no上添加外键约束,参照字段为销售主表sales中的字段订单编号order_no,约束名为FK_order_no。

d)在销售明细表sale_item的产品编号字段prod_id上添加外键约束,参照字段为产品名称表product中的产品编号字段prod_id,约束名为FK_prod_id。

4.添加核查约束:a) 将员工表employee中的薪水字段salary的值限定在1000至10000间,约束名为CK_salary。

b) 将员工表employee中的员工编号字段emp_no设定为以“E”字母开头,后面跟4位数的编号,约束名为CK_emp_no。

数据库实验报告 表和数据完整性

数据库实验报告 表和数据完整性
Book_id nchar(30) not null,
Address nchar(30) not null
)ON PRIMARY
(3)设置book表中的book_id为主键,author表中的book_id为外键:
Alter table dbo.author with check
Add constraint fk_book_author foreign key(book_id)
(3)利用update语句为表booksales更新数据:
Update booksales set sellnum = 11
Where book_id = ‘m00011’
3.利用Transact-SQL语句为表booksales中的销售数量列sellnum创建规则“sellnum>=0”,并绑定规则到列sellnum。
References dbo.book(book_id)
(4)创建两个表的关系的步骤如下:
在author表的设计器界面右击book_id列,在弹出的菜单中执行“关系”命令,弹出如图3.1所示的“外键关系”对话框。
2.在test01数据库中利用Transact-SQL语句创建一图书销售表booksales(book_id nchar (6),sellnum int,selldate datetime )。分别利用insert、delete、update语句添加、删除和更新数据。
Price numeric(10,2)null,
Constraint pk_book primary key clustered
(book_id ASC )
)on primary
(2)创建表author的Transact_SQL语句:

数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与管理实验

南京晓庄学院《数据库原理与应用》课程实验报告实验三数据表的创建与管理实验所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)理解SQL Server 2005常用数据类型和表结构的设计方法。

理解主键、外键含义,掌握建立各表相关属性间参照关系的方法。

(2)熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构,插入及更新数据的方法。

(3)熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方法。

2.实验要求基本实验:(1)在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构:学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号)课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时)学习信息(学号,课程号,考试成绩,平时成绩)院系信息(院系号,院系名称)要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。

(2)依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。

(3)依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。

(4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。

(5)按要求完成实验报告。

扩展实验:(1)在“TM”数据库中补充设计以下各表结构:教师信息(教师号,姓名,性别,出生日期,学历,学位,入职时间,职称,院系号)授课信息(教师号,课程号,学期)班级信息(班级号,班级名称,专业号)专业信息(专业号,专业名称,学制,学位)图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类)借书偏息(学号,图书号,借出时间,归还时间)奖励信息(学号,奖励类型,奖励金额)(2)设计并实现各表之间相关属性的参照关系。

实验三、四创建表及输入数据及完整性约束

实验三、四创建表及输入数据及完整性约束

实验三、四 创建表及输入数据及完整性约束本实验需要4学时。

一、实验目的要求学生熟练掌握和使用Transact-SQL、SQL Server企业管理器创建表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。

学生熟练掌握使用 SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。

二、实验内容1 创建表、确定表的主码和约束条件。

为主码建索引。

2 查看和修改表结构。

3 输入数据、修改数据和删除数据三、实验步骤(1)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为;图书(书号,类别,出版社,作者,书名,定价,作者).读者(编号,姓名,单位,性别,电话).借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。

(2)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。

(3)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。

要求记录不仅满足数据约束要求.还要有表间关联的记录。

(4)通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入。

删除和修改操作。

(5)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作、要求学生、课程和选课表中各有10条以上的记录。

四、实验方法1 新建表在 SQL Serve 2000的数据库中,文件夹是按数据库对象的类型建立的.文件夹名是该数据库对象名。

当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的图书.读者数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。

数据库完整性实验报告

数据库完整性实验报告

数据库完整性实验报告数据库完整性实验报告引言数据库完整性是指数据库中数据的准确性、一致性和有效性。

在数据库中,完整性是非常重要的,它保证了数据的可靠性和可信度。

本实验报告旨在介绍数据库完整性的概念、重要性以及实验过程和结果。

一、数据库完整性的概念和重要性数据库完整性是指数据库中的数据应符合规定的约束条件,不应存在冲突、矛盾或不一致的情况。

它包括实体完整性、参照完整性和用户定义的完整性。

1. 实体完整性实体完整性是指数据库中的每个实体都必须具有唯一的标识符。

在关系型数据库中,实体完整性通常通过主键来实现。

主键是一个能唯一标识实体的属性或属性组合,它保证了每个实体的唯一性。

2. 参照完整性参照完整性是指数据库中的外键必须引用已存在的主键。

外键是一个表中的属性,它引用了另一个表的主键。

参照完整性保证了表与表之间的关联关系的正确性和一致性。

3. 用户定义的完整性用户定义的完整性是指用户自定义的约束条件必须满足。

例如,一个表中的某个属性必须满足某种条件,如非空、唯一等。

用户定义的完整性保证了特定业务需求的满足。

数据库完整性的重要性在于保护数据的可靠性和一致性。

它可以防止数据的错误、冲突和不一致,确保数据的准确性和可信度。

同时,数据库完整性也为数据库的安全性提供了基础,防止非法访问和恶意操作。

二、实验过程本实验使用MySQL数据库进行实验。

1. 创建数据库和表首先,创建一个名为"students"的数据库,并在其中创建一个名为"grades"的表。

表"grades"包含三个字段:学生ID、课程名称和成绩。

2. 添加完整性约束在表"grades"中,为学生ID字段添加主键约束,保证每个学生ID的唯一性。

同时,为课程名称字段添加非空约束,保证每个课程都有名称。

3. 添加参照完整性约束在表"grades"中,为学生ID字段添加外键约束,引用了另一个表"students"中的主键。

数据库实验二建立表和数据完整性

数据库实验二建立表和数据完整性

实验二:建立表和数据完整性一、实验目的与要求:1.实验目的(1)掌握建立表、修改表结构等基本操作。

(2)掌握数据完整性的功能,加深对数据完整性的理解。

2.实验要求(1)使用创建数据库技术建立名称为“学生管理”数据库。

(2)建立“院系”、“学生”、“教师”、“课程”、“选课”等5张表,具体要求见实验指导书。

(3)修改表的结构,具体要求如下:①为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。

②为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。

③将院系表的“名称”字段的类型修改为varchar(30)。

④为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。

二、实验内容1、实验原理基本表是SQL Server的数据库对象,包含了表中的列,计算列和表级约束。

对它的操作有创建、修改和删除。

(1)建立基本表结构的命令:CREATE TABLE [schema_name].table_name({<column_definition>|<computed_ column_definition >}[ < table_constraint> ][,…n])其中列定义(column_definition)的基本格式是:column_name<data_type>[NULL|NOT NULL][[CONSTRAINT constraint_name] PRIMARY KEY|UNIQUE|[FOREIGN KEY]REFERENCES [schema_name.] referenced_table_name [(ref_column)][ON DELETE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}][ON UPDATE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}]|CHECK (logical_expression)][DEFAULT constraint_expression]如果需要还可以定义计算列(computed_column_definition)和表级约束(table_ constraint)●空值约束NOT NULL和NULL●主关键字约束PRIMARY KEY●惟一性约束UNIQUE●参照完整性约束FOREGIN KEY●默认值定义DEFAULT●取值范围约束CHECK(2)修改表结构的命令:ALTER TABLE schema_name.table_name{ ALTER COLUMN column_name <data_type>[NULL|NOT NULL]| ADD< column_definition > | < computed_column_definition >| < table_constraint >| DROP[ CONSTRAINT ] constraint_name COLUMN column_name }(3)删除数据表的命令格式:DROP TABLE table-name2、实验步骤与结果(1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。

实验3 MySQL数据库安全性与完整性控制实验实训报告

实验3 MySQL数据库安全性与完整性控制实验实训报告

数据库运维课程实训报告实验3 数据库安全性与完整性控制实验实训名称:成绩教师评语教师签字日期学生姓名学号一、实训目标练习安全性授权方法、安全性和完整性查看的操作方法。

二、实训内容【实验3-1】使用create user创建用户,创建单个用户teacher,创建两个用户teacher1和student。

【实验3-2】通过直接操作MySQL用户表创建用户,创建单个用户teacher2,创建两个用户teacher3和student2(请注意,新版的MySQL可能不支持使用此方法创建新用户)。

【实验3-3】新建一个terminal窗口,使用mysql –u –h -p方式登录teacher。

【实验3-4】再次新建一个terminal窗口,使用mysql –u –h -p方式登录student。

【实验3-5】使用GRANT语句对用户student赋予所有数据库所有表的insert权限和update权限。

【实验3-6】使用GRANT语句对用户student赋予school数据库所有表的select权限。

【实验3-7】使用GRANT语句对用户student赋予school数据库stuinfo表的create 访问权限。

【实验3-8】使用GRANT语句对用户student赋予school数据库stuinfo表的stuno 列上的select访问权限。

【实验3-9】使用GRANT语句对用户student赋予s所有数据库所有表的select访问权限,并设定student每小时最多可使用select操作访问数据库的次数。

【实验3-10】查看表INFORMATION_ER_PRIVILEGES中有关student的信息,查看user表中的内容信息。

【实验3-11】查看表INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到student在school数据库下拥有的权限。

【实验3-12】查看表INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找school数据库中stuinfo数据表相关的表权限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Lab3_5:实现数据的完整性
一、创建名为mydb1的数据库
二、在mydb1数据库中按照下表所示.创建Student,teacher,test,test_score表
(Student表和teacher表使用企业管理器创建,后面2张表使用T-SQL语句实现。


student
属性名数据类型长度可否为空说明student_id int 否主键
name varchar 20 否
sex char 2 否默认值“男”
age int 可
teacher
属性名数据类型长度可否为空说明teacher_id int 否主键
name varchar 20 否
sex char 2 否
age int 可
birthdate datetime 可
workdate datetime 可
test
属性名数据类型长度可否为空说明test_id int 否主键
test_name varchar 20 可
teacher_id int 否
test_score
属性名数据类型长度可否为空说明student_id int 否
test_id int 否
score int 可
三、添加删除约束
使用T-SQL语句完成下面的任务。

1. 在student表中添加专业列institute,最长是10个汉字,不允许为空,默认值为“计算机软件”;
2. 修改Student表中列sex上的默认值为‘女’;
3. 在teacher表中对age列添加约束,年龄在18-60之间;
4. 在teacher表中添加约束,工作时间必须大于生日;
5. 将test_score表中的student_id和test_id设置为“主键”;
6. 将test_score表中的score设置检查约束,成绩值在0-100之间;
7. 设置外键:test表中的teacher_id参照teacher表中的teacher_id;
8. 设置外键:test_score表中的student_id参照student表中的student_id,test_id 参照test表中的test_id;
9. 执行下面的语句,验证以上操作:(说明:大家仔细查看表的信息,是否与图示一致)sp_help student
sp_help teacher
sp_help test_score
10. 形成这4张表的关系图,如下所示:(说明:大家查看自己创建的关系图与图示是否一致)。

相关文档
最新文档