文档库 最新最全的文档下载
当前位置:文档库 › 实验6 数据库完整性实验

实验6 数据库完整性实验

实验6 数据库完整性实验
实验6 数据库完整性实验

《数据库原理与应用》课程实验报告

学院:物光学院班级:07网工姓名:学号:

实验设备:计算机1台实验日期:年月日

实验项目名称数据库完整性

实验目的 1.掌握使用SQL语句定义与删除DEFAULT约束。

2.掌握使用SQL语句定义与删除CHECK约束。

3.掌握使用SQL语句定义与删除PRIMARY KEY约束。

4.掌握使用SQL语句定义与删除FOREIGN KEY约束。实验要求:

1.熟悉查询分析器的操作,以及执行T-SQL语句的方法。

2.理解数据完整性的概念,熟悉约束的实现方法。

实验内容(包括步骤):

1.实施worker表的“性别”字段默认值为“男”得约束。

2.实施salary表的“工资”字段值限定在0~9999得约束。

3.实施depart表的“部门号”字段值唯一的非聚集索引的约束。

4.为worker表建立外键“部门号”,参考表depart的“部门号”列。

5.删除(1)小题所建立的约束。

6.删除(2)小题所建立的约束。

7.删除(3)小题所建立的约束。

8.删除(4)小题所建立的约束。

调试与结果测试:

代码注释:

――――――――――――以下内容为教师填写―――――――――――――――教师评阅:

成绩:

年月日

实验6 数据完整性

一、实验目的 1.掌握Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。 2.掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_help、sp_helptext查询规则信息、sp_rename更名规则的方法。 3.掌握Transact-SQL语句(CREATE DEFAULT、DROPDEFAULT)创建和删除默认对象的方法。4.掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询规则信息。 5.掌握SQL Server管理平台和Transact-SQL语句(CREATE TABLE、ALTER TABLE)定义和删除约束的方法,并了解约束的类型。 二、实验内容及步骤 (1)为studentsdb数据库创建一个规则,限制所输入的数据为7位0~9的数字。 ①复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。 SELECT * INTO stu_phone FROM student_info ALTER TABLE stu_phone ADD CHAR(7)NULL stu_phone表结构如图1-10所示。 图1-10 stu_phone表结构 ②创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。实现该规则的代码为 CREATE phone_rule AS @phone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]' ③使用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。实现该操作的代码为 sp_bindrule,'stu_phone.电话号码' ④输入以下代码,进行一次插入操作: INSERT INTO stu_phone(学号,姓名,电话号码) VALUES('0009','王国强','1234yyy') 产生以下出错信息: 消息513,级别16,状态0,第1 行 列的插入或更新与先前的CREATE RULE 语句所指定的规则发生冲突。该语句已终止。冲突发生于 数据库'studentsdb',表'dbo.stu_phone',列'电话号码'。 语句已终止。

数据库实验

数据库实验 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

数据库原理实验指导 实验前准备: 请设计一个企业销售管理据库,其中需要保存的信息如下: 员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期; 客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码; 产品信息,包括:产品编号,产品名称; 员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。 此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期; 要求: (1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型; (2)将ER图转换为关系模型; 实验一 实验名称:数据定义(2课时) 一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。 2、理解上述基本表之间的关系,建立关系表。 3、掌握修改表结构的基本方法 4、掌握索引和视图的创建方法 二、实验环境 MS SQL SERVER或者My Sql。 三、实验内容与步骤 1、建立一个数据库和五张表的表结构。 (1)/*员工人事表employee */ Create datebase sale; create table employee( emp_no char(5) Not null primary key, emp_name char(10) Not null, sex char(1) Not null,

实验室数据完整性

实验室数据完整性 CFDA飞检通告中药企缺陷汇总 近几年对于制药企业人都不陌生的一个名称就是数据完整性,然而它不是现在才有的,只是曾经GMP检查的一个盲区。 实验室由于其涉及的数据信息量大,首当其冲成为数据完整性的重灾区。 从国家局发布的飞行检查数据显示自2015年12月1日计算机化系统生效以来,12家问题企业涉及实验室数据完整性缺陷的有6家,占总数的50%,而自2016年发布的5家问题企业有4家涉及。涉及实验室数据完整性缺陷容主要有以下几方面: 1)电子数据完全性不足:例如多人共用登录密码,无权限受控,缺审计追踪、修改数据、实验数据未进行备份等功能; 2)修改系统时间; 3)检验记录涉嫌造假,仪器使用日志不真实,涉嫌一图多用; 4)记录不规不完整等。

CFDA飞行检查实验室数据完整性缺陷汇总: 一、健朗药业有限责任公司 2015.12.23 实验室数据完整性缺陷容: 奥拉西坦成品原始检验记录中采用红外光谱仪鉴别时,选择性的采用仪器保存的工作对照品图谱比对作为检验结果进行判定; 检验用高效液相色谱仪、气相色谱仪,多人共用登录密码,无权限受控,缺审计追踪等功能,不能确保图谱、数据的完整性。 https://www.wendangku.net/doc/9e18774555.html,/WS01/CL1681/139041.html 二、省辉南三和制药 2015.12.28 实验室数据完整性缺陷容: 检验记录涉嫌造假,仪器使用日志不真实。在该企业液相工作站打印出的精制冠心片药粉液相色谱图,批号为20130301、20140501、20140801、20140802、20150901样品液相色谱图高度一致,涉嫌一图多用的数据完整性问题。

实验8 数据完整性实验

实验8 数据完整性实验 1.实验目的 本实验的目的是通过实验使学生加深对数据完整性的理解,学会创建和使用触发器。2.实验时数4学时 [相关知识] SQL Server实现数据完整性的具体方法有4种:约束、缺省、规则和触发器。其中约束和缺省在实验一中已接触过。本实验重点学会创建和使用触发器。 触发器是实施复杂完整性的特殊类型的存储类型。触发器不需要专门语句调用,当对它所保护数据进行修改时自动激活,以防止对数据进行不正确,未授权或不一致的修改。 创建触发器的语法为: CREA TE TRIGGER <触发器> ON <表名> [WITH ENCRYPTION] FOR {[DELETE][,][INSERT][,][UPDA TE]} [WITH APPEND] [NOT FOR REPLICA TION] AS 其中: 1)WITH ENCRYPTION 为加密选项。 2)DELETE 选项为创建DELETE 触发器。DELETE触发器的作用是当对表执行DELETE操作时触发器被激活,并从指定表中删除元组,同时将删除的元组放入一 个特殊的逻辑表(delete表)中。触发器的动作可以检查delete表中的数据,以确 定下一步该如何处理。 3)INSERT选项为创建INSERT触发器。INSERT触发器在对指定表中执行插入数据操作时激活,激活后将插入表中的数据拷贝并送入一个特殊的逻辑表(inserted 表) 中,触发器会根据INSERT表中的值决定如何处理。 4)UPDA TE选项为创建UPDA TE触发器。UPDA TE触发器仅在对指定表中进行更新数据操作时激活。UPDA TE触发器激活后把将要被更新的原数据移入delete表中再 将要被更新后的新数据的备份送入insert表中,UPDA TE触发器对delete和inserted 表进行检查,并决定如何处理。 5)NOT FOR REPLICA TION 选项说明当一个复制过程在修改一个触发器表时,与该表相关联的触发器不能被执行。 一个触发器只适用于一个表,每个表最多只能有三个触发器,它们分别是INSERT、UPDA TE和DELETE触发器。触发器仅在实施数据完整性和处理业务规则时使用。 3.实验内容 本实验的内容为: 使用SQL设计触发器,通过SQL Server企业管理器定义它们。 具体完成下面例题:利用触发器来保证学生选课库中选课表的参照完整性,以维护其外码与参照表中的主码一致。 CREA TE TRIGGER SC_inserted ON 选课 FOR INSERT

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

8实验八 数据库的完整性

实验八实现数据完整性一、实验目的 (1)实现数据完整性的概念及实施数据完整性的重要性。 (2)掌握数据完整性的分类。 (3)掌握完整性约束的添加、删除方法。 (4)掌握通用默认值的创建、实施与删除方法。 (5)掌握规则的创建、实施与删除方法。 (6)掌握级联删除、级联修改方法。 二、实验内容 1、完整性约束的添加、删除 (1)通过SQL Server Management Studio实施约束 a.为表Student的Birth字段创建检查约束,使输入的生日日期小于系统日期。 ①、选择Student表,右击→设计,打开Student表 ②、选择Birth一行,右击→CHECK约束,打开界面如下图所示 ③、单击“添加” ④、在表达式中写入:Entrance_date

b.为表Student的Sdept字段,设置默认值约束,默认值取’计算机系’。选择Sdept一行,在其列属性中修改其默认值 c.为Student表的Sname字段添加唯一性约束。 选择Sname一行,右击→索引/键 出现如下界面:

单击“添加”,在类型中选择“唯一键”,在列中选择“Sname”,名称自定义 最后单击“关闭”退出

d.将SC表的Sno,cno字段设置外键约束,约束名自已取,并允许级联删除与级联更新。(此要求在SQL Server2008R2中无法做出)若已存在外键约束,请先删除。 ①、选中Sno,右击→单击“关系”,出现如下信息,可见已存在外键约束 选中键,点击删除,完成约束删除 ②、添加约束: 选中Sno,右击,选择“关系”,出现如下信息,

实验4 数据的完整性

实验3-4 数据的完整性 一、实验目的: 1. CHECK约束。 2. PRIMARY KEY 约束。 3. UNIQUE约束。 4. FOREIGN KEY 约束 5. DEFAULT约束 6. 数据库关系图的使用。 二、实验内容: 1. 创建使用CHECK约束的表 2. 为表添加PRIMARY KEY 约束、UNIQUE约束、DEFAULT约 束。 3. 创建数据库关系图,建立PRIMARY KEY 约束、FOREIGN KEY 约束。 三、实验步骤: 分别使用SQL Server Management Studio和Transact SQL两种方式完成下列操作: 1. 创建员工表,要求如下: 身份编号,char(10) NOT NULL:第一位必须是英文字 母、第二位必须是数字1或2、后八位则必须是介于0~9 的数字。 工作编号,char(6) NOT NULL:以字符串T1C开头,后三 位则必须是介于0~9的数字。 姓名nvarchar(20) NOT NULL: 性别,char(1) NOT NULL,必须是字母M或F。 出生日期 NOT NULL,必须年满18岁。 电话号码,满足下列格式之一: 区号可以是3位或4位,用括号括起来。 区号是4位,电话号码必须是6位,且前3位与后3位 以“-”隔开。 区号是3位,电话号码必须是7位或8位;7位则前3位 与后4位以“-”隔开,如(025)452-8789;8位则前8 位与后4位以“-”隔开,(010)6435-8789。 地址nvarchar(60) NOT NULL

血型 varchar (3) NOT NULL ,必须是A 、B 、AB 、O 、RH+、RH-之一 起薪 money NOT NULL , 1500~10 000目前薪水money NOT NULL ,1500~20 000目前薪水大于或等于起薪。 2.创建员工表字段名数据类型说明员工编号 int 主键,聚集索引,not null ,自动增长,种子10,步长10身份证编号char(18)not null ,唯一约束技能鉴定编号char(6)not null ,唯一约束姓名nvarchar(16)姓名+电话号码,唯一约束 姓名+移动电话,唯一约束 电话号码char(11)移动电话int 3. 创建三个表: 学生表 字段名数据类型说明学号char(6)主键姓名varchar(20) 性别bit 出生日期smalldatetime 大于18岁籍贯 nvarchar(60) 课程表 字段名 数据类型说明课程编号 char(4) 主键

数据库原理实验报告_实验三_数据完整性与安全性控制

实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存

(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。 唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存

D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二

数据库实验6数据库系统设计

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

实验七--数据完整性实验

实验七:数据完整性实验 实验目的: 加深对数据完整性的理解。 实验内容: 数据库的完整性设置。 实验步骤: 可视化界面的操作方法: 一、实体完整性 1.将student表的“sno”字段设为主键:在表设计界面中,单击左边的行选定块,选定“sno”字段,单击工具按钮设置主键。如图1所示: 图1 1.将“sc”表的“sno”和“cno”设置为主键:在表设计界面中,单击并按住Ctrl 键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图 2所示:

图2 二、域完整性 3. 将“ssex”字段设置为只能取“男”,“女”两值:在表设计界面,点击鼠标右键——CHECK 约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ ssex in ('男','女') ”。如图3所示。

图3 三、参照完整性 4. 将“student”表和“sc”表中的“sno”字段设为参照: 打开“sc”表的设计界面, 点击工具栏按钮, 在弹出的属性(properties)对话框中点击“新建”按钮,在“主键表 (Primary key table)”下拉框中选择“student”表,在其下的字段选择框中选择“sno”,在“外键表(Foreign key table)”下拉框中选择“sc”表,在其下的字段选择框中选择“sno”,单击关闭即可。见图4。

图4 命令方式操作方法: 一、实体完整性 1.将“student”表的“sno”字段设为主键:当“student”表已存在则执行: 当“student”表不存在则执行:

注:可用命令“drop table student”删除“student”表 2. 添加一身份证号字段,设置其惟一性.(注: 操作前应删除表中的所有记录) 3. 将“sc”表的“sno”和“cno”设置为主键: 当“sc”表已存在则执行: 当“sc”表不存在则执行: 二、域完整性 4. 将“ssex”字段设置为只能取“男”,“女”两值: 当“student”表已存在则执行: 当“student”表不存在则执行:

数据完整性实验

实验五:数据完整性实验 一、实验目的: 掌握使用SQL中的PRIMARY KEY、CHECK、FOREIGN KEY……REFERENCES、NOT NULL、UNIQUE等关键字是现实体完整性、参照完整性及用户定义完整性约束定义。二、实验步骤: (一)验证分析部分 1、利用SQL查询分析器用PRIMARY KEY子句保证实体完整性。 在查询分析器窗体下键入如下命令: CREATE TABLE Student( sno CHAR(5)NOT NULL UNIQUE, sname CHAR(8), ssex CHAR(1), sage INT, sdept CHAR(20), CONSTRAINT PK_Student PRIMARY KEY(sno)); UPDATE Student SET sno=’‘WHERE sdept=’CS’; UPDATE Student SET sno=’200215121‘WHERE sname=’王敏’; 运行并观察结果。 2、利用SQL查询分析器用FOREIGN KEY……REFERENCES子句保证实体完整性。 在查询分析器窗体下键入如下命令: (1)先删除原来SC表中关于Sno的外键,再将SC的Sno外键修改为: alter TABLE SC add CONSTRAINT FK_Sno FOREIGN KEY(sno) REFERENCES Student(sno) ON update CASCADE; 然后执行以下语句 Update Student SET sno=’200215128‘WHERE sno=’200215121’; (2)先删除原来SC表中关于Sno的外键,再将SC的Sno外键修改为: alter TABLE SC add CONSTRAINT FK_Sno FOREIGN KEY(sno) REFERENCES Student(sno) ON delete CASCADE; 然后执行以下语句 delete from student WHERE sno=’200215122’;

实验六 数据完整性

实验六数据完整性 学号:6103114095 姓名:王祥真班级:计科143 1.实验目的 (1)掌握SQL Server管理平台和Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。 (2)掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_helptext查询规则信息、sp_rename更名规则的方法。 (3)掌握SQL Server管理平台和Transact-SQL语句(CREATE DEFAULT、DROP DEFAULT)创建和删除默认对象的方法。 (4)掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询默认对象信息。 (5)掌握SQL Server管理平台和Transact-SQL语句(CREATE TABLE、ALTER TABLE)定义和删除约束的方法,并了解约束的类型。 2.实验内容 (1)为xskc数据库中student表的创建一个规则stu_nj_rule,限制“年级”列所输入的数据为2位0~9的数字。 (2)创建一个规则stusex_rule,将其绑定到student_info表的“性别”列上,保证输入的性别值只能是“男”或“女”。 (3)使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule 规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。 删除stu_nj_rule规则。

云南大学-实验六-数据库完整性报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:刘宇、张璇 姓名:学号:专业:信息安全成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、创建规则(用图形或者语句方法创建) (1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试: (2)创建学生年龄规则“Age_rule”。要求:学生年龄必须在15~30岁之间

测试: (3)创建学生性别规则“Sex_rule”。要求:性别只能为“男”或“女” 测试:

(4)创建学生成绩规则“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩规则“Score_rule”,截图为: 双击:成绩: (6)用语句方法查看学生成绩规则“Score_rule”,语句为:

2、删除规则Enter_University_date_rule 3、创建默认(用图形或者语句方法创建) (1)创建默认时间“Time_default”为当前系统时间 (2)创建默认入学年龄“Age_default”为18岁 (3)用图形方法查看默认入学年龄“Age_default”,截图为:

(4)用语句方法查看默认入学年龄“Age_default”,语句为: 4、删除默认入学年龄“Age_default” 5、创建声明式默认:在创建表的过程中创建声明式默认 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 编号姓名性别年龄 101 苏晴女 201 马拯山20 执行结果为: 输入数据:

6实验六-数据库完整性

实验报告书 课程名《数据库原理与应用A 》题目:数据库完整性 班级: 学号: 姓名:

1、实验内容或题目 数据库完整性 2、实验目的与要求 (1)掌握sql server 2005 数据库完整性的机理,理解并掌握约束。 (2)进行实验操作。 3、实验步骤与源程序 ⑴实验步骤 掌握Sql server 2005基本语句的使用,主要是PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE 约束、CHECK约束、NOT NULL。 练习Sql server 2005基本语句的使用。 完成实验报告。 ⑵编写源代码 SQLQuery1(例13.1,在test数据库中创建department表,其中指定dno为主键): use test go create table department ( dno int primary key, dname char(20), ) go SQLQuery2(例13.2,使用FOREIGN KEY子句进行相关操作): use test go create table worker (no int primary key, name char(8), sex char(2), dno int foreign key references department(dno) on delete no action, address char(30) )

go SQLQuery3(例13.3,在test数据库中创建table5表,其中指定c1列不能包含重复的值): use test go create table table5 ( c1 int unique, c2 int ) go insert table5 values(1,100) go /*插入下一行,则会出现错误消息*/ insert table5 values(1,200) SQLQuery4(例13.4,在test数据库中创建table6表,其中使用CHECK约束限定f2列为0-100分): use test go create table table6 ( f1 int, f2 int not null check(f2>=0 and f2<=100) ) go /*插入下一行,则会出现错误消息*/ insert table6 values(1,120) SQLQuery5(例13.5,在test数据库中创建table7表,其主键为c1和c2,将其中插入两个记录,输出这些记录): use test go create table table7 ( c1 int, c2 int, c3 char(5), c4 char(10), constraint c1 primary key(c1,c2) ) go use test insert table7 values(1,2,'ABC1','XYZ1') insert table7 values(1,2,'ABC2','XYZ2') go select*from table7 go

实验六数据完整性实验报告

2011-2012学年第二学期课程实验报告课程名称:数据库系统原理 实验名称:数据库控制(二):数据完整性 姓名班级学号实验台编号- 同组同学- 实验课表现出勤、表现得分25% 25 实验报告 得分50% 实验总分操作结果得分25% 25 实验目的 1.掌握数据完整性的概念及分类 2.掌握各种完整性的实现方法 3.掌握触发器的概念及工作原理 4.掌握触发器的创建和使用方法 实验内容(实验步骤和实验结果的简单描述,方便同学自己以后阅读) --实验六,数据库控制(二):数据完整性 --1. 用户要求:XS表中的学生的专业只能是“计算机”,“数学”,“电子” -- 中的任意一个,请问如何解决该问题?请写出一种具体的解决方法。 ALTER TABLE XS WITH NOCHECK ADD CONSTRAINT C1 CHECK (专业IN('计算机','数学','电子')) --2. 用户要求:XS表中的学生的年龄必须在岁到岁之间,请问如何解决 -- 该问题?请写出一种具体的解决方法。 ALTER TABLE XS WITH NOCHECK ADD CONSTRAINT C2 CHECK (2012 -YEAR(出生日期)BETWEEN 18 AND 30) --3. 用户要求:在输入XS表中的数据时,若“专业”列没有提供数据,系统应 -- 自动取值“计算机”,请问如何解决该问题?请写出一种具体的解决方法。 USE stu10 EXEC sp_helpconstraint XS ALTER TABLE XS DROP CONSTRAINT DF__XS__专业__023D5A04 ALTER TABLE XS ADD CONSTRAINT DF_专业 DEFAULT'计算机'FOR专业

实验室数据完整性

实验室数据完整性

实验室数据完整性 CFDA飞检通告中药企缺陷汇总 近几年对于制药企业人都不陌生的一个名称就是数据完整性,然而它不是现在才有的,只是曾经GMP检查的一个盲区。 实验室由于其涉及的数据信息量大,首当其冲成为数据完整性的重灾区。 从国家局发布的飞行检查数据显示自2015年12月1日计算机化系统生效以来,12家问题企业涉及实验室数据完整性缺陷的有6家,占总数的50%,而自2016年发布的5家问题企业有4家涉及。涉及实验室数据完整性缺陷内容主要有以下几方面: 1)电子数据完全性不足:例如多人共用登录密码,无权限受控,缺审计追踪、修改数据、实验数据未进行备份等功能; 2)修改系统时间; 3)检验记录涉嫌造假,仪器使用日志不真实,涉嫌一图多用; 4)记录不规范不完整等。 CFDA飞行检查实验室数据完整性缺陷汇总: 一、湖南健朗药业有限责任公司 2015.12.23 实验室数据完整性缺陷内容: 奥拉西坦成品原始检验记录中采用红外光谱仪鉴别时,选择性的采用仪器内保存的工作对照品图谱比对作为检验结果进行判定; 检验用高效液相色谱仪、气相色谱仪,多人共用登录密码,无权限受控,缺审计追踪等功能,不能确保图谱、数据的完整性。 https://www.wendangku.net/doc/9e18774555.html,/WS01/CL1681/139041.html

二、吉林省辉南三和制药有限公司 2015.12.28 实验室数据完整性缺陷内容: 检验记录涉嫌造假,仪器使用日志不真实。在该企业液相工作站打印出的精制冠心片药粉液相色谱图,批号为20130301、20140501、20140801、20140802、20150901样品液相色谱图高度一致,涉嫌一图多用的数据完整性问题。 另外企业无20150901批次物料的生产记录,物料领用记录等。而液相日志显示2015年9月14日和2015年9月26日均显示对该批号物料进行了检测,此使用日志明显存在造假。 https://www.wendangku.net/doc/9e18774555.html,/WS01/CL1681/140200.html 三、海南益尔药业有限公司 2016.01.12 实验室数据完整性缺陷内容: 质量控制方面存在的问题。 1、修改数据。Thermo HPLC(型号:ultimate-3000,编号A-04-07-21)数据库显示,150601批次盐酸氟哌噻吨原料药的杂质A进行了多次测定,其中2015年6月27-28日(工作站显示的进样时间)测定的样品检测结果合格,HPLC 图谱被该批次检验记录采用,但检验记录中打印的图谱显示,对照溶液、供试品溶液和溶剂的测定时间均为2015年6月26日13:59。 Thermo HPLC(型号:ultimate-3000,编号A-04-07-21)工作站电脑的存在更改系统时间问题。 例如,(1)系统时间从2015年7月17日更改为2015年7月6日,2015年7月6日对150701批次氟哌噻吨美利曲辛片含量均匀度进行测定; (2)系统时间从2015年7月13日更改为2015年6月21日,2015年6月21日对氟哌噻吨中间体进行测定; (3)系统时间从2015年7月12日更改为2015年6月27日。 “150601盐酸氟哌噻吨杂质A”序列显示,“氟哌噻吨混合对照”两次进样的时间分别为2015年6月27日的15:31和15:35,与每针30分钟的运行时间相矛盾。

实验三 数据库完整性

实验三数据库完整性 1、实体完整性:定义表的主码。 关系模型的实体完整性在CREA TE TABLE 中用PRIMARY KEY定义。定义主码的方法分为列级约束条件和表级约束条件。 【1-1】定义表STUDENT,将其中的SNO属性定义为主码 【1-2】定义表SC,将其中的SNO、CNO定义为主码 2、参照完整性:定义表的外码 关系模型的参照完整性是在CREA TE TABLE中用FOREIGN KEY语句来定义,并用REFERENCES来指明外码参照的是哪些表的主码。 【2-1】定义表SC,其中SNO参照STUDENT的主码SNO,CNO参照表COURSE的主码 CNO 3、用户定义完整性 【3-1】列值非空。在定义SC表时,SNO、CNO和GRADE属性都不允许取空值。在不特别声明的情况下,非码属性的值允许取空值的 【3-2】列值唯一。建立部门表DEPT,要求部门名称Dname取值唯一,部门编号Deptno属性为主码 【3-3】CHECK短语指定列值应该满足的条件。定义表Student,属性Ssex的值只允许取“男”或“女”;定义表SC,属性Grade的值定义在0~100之间 【3-4】用户定义的元组上的约束条件。定义表Student,要求当学生性别为“男”时,其名字不能以Ms.打头 4、CONSTRAINT完整性约束子句:在定义表时利用约束命名子句对完整性约束条件命名, 能够灵活的增加或删除一个完整性约束条件 【4-1】定义表Student,要求学号在90000~99999之间,姓名不能取空值,年龄小于30,性别只能“男”或“女”,要求全部用约束命名子句实现 【4-2】修改表Student中的完整性限制,去掉对性别的限制,并将年龄的限制由小于30改为小于40 5、触发器 【5-1】定义表TAB,并在其上定义触发器TRI,在对TAB的插入或更新前检查,如果插入或更新的值在100~1000之间的话,将值置为50;如果值大于1000的话,则将新值插入表。【5-2】检测、执行、结果 【5-3】删除触发器TRI

数据库试验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验内容及要求 选择如下一个应用背景之一: 学生选课系统?习题3、4、和5中使用的数据库?其它你熟悉的应用?。)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作1((2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的内容:3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据 2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例:

建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。数据定义一、创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 列名用类长约备 主字学Sn 字姓Snam 字符2性别Ssex 整型年龄Sage 字符20Sdept所在系字符4Sclass班级 表2. Course表结构 1.创建、修改及删除基本表(1Student表)创建Student TABLE CREATE, CHAR (Sno(8)PRIMARY KEY8 Sname CHAR(), NOT NULL,)Ssex CHAR(2 ,Sage INT CHAR(20)Sdept); )创建Course表(2Course TABLECREATE (Cno KEY PRIMARY,)CHAR(4NOT(Cname CHAR40)NULL, 4(), CHAR Cpno SMALLINT,Ccredit); (表SC3)创建SC CREATETABLE 8CHAR Sno(()FOREIGNKEY Student Sno(),REFERENCES)(Sno Cno 4(CHAR), Grade,SMALLINT); 4()创建员工表Employee

数据库实验六

6 综合型实验项目索引和数据完整性 匹配课程代码及名称:070785,数据库应用设计 适用专业及本项目实验学时:计算机科学与技术专升本,6学时 一、实验目的及要求 (1)掌握索引的使用方法; (2)掌握索引的设计与实现方法。 (3)掌握数据完整性的类型; (4)掌握数据完整性的实现方法。 二、实验内容 在已建好的YGGL数据库中,设计并创建索引,并进行索引的重建、删除操作。提交程序源代码(电子版,1周内)和实验报告(纸制、1周内)。三、实验条件及设备要求 已安装SQL Server 2008数据库管理系统的实验机。 四、实验相关知识点 数据库实体完整性、索引。 五、实验实施步骤 (一)建立索引 1、对YGGL数据库的Employees表中的DepartmentID列建立索引。 createindex depart_ind on Employees(DepartmentID)

2、在Employees表的Name列和Address列上建立复合索引。 create index ad_ind on Employees(Name,Address) 3、对Departments表上的DepartmentName列建立唯一非聚集索引。 go create unique index dep_ind on Departments(DepartmentName) go (二)重建索引 1、重建表Employees中的所有索引。 alter index all on Employees rebuild

(三)删除索引。 1、使用DROP INDEX语句删除表Employees上的索引Depart_ind。 drop index Depart_ind on Employees 2、使用DROP INDEX一次删除Employees表上的多个索引。 go drop index Departments.Dep_ind,Employees.Ad_ind go (四)数据完整性操作 1、创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。 create table Employees5( EmployeesID char(6)not null, Name char(10)not null primary key, Sex tinyint,

相关文档