SQL数据完整性

SQL数据完整性
SQL数据完整性

实验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的数字。

(1)复制学生表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。

SELECT * INTO stu_phone FROM 学生表

ALTER TABLE stu_phone ADD 电话号码 CHAR(7)NULL

stu_phone表结构如图1-1所示。

图1-1 stu_phone表结构

(2)创建一个规则phone_rule,限制所输入的数据为7位0~9的数字

CREATE RULE phone_rule AS@电话号码like

'[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

(3)使用系统存储过程sp_hndrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。

sp_bindrule phone_rule,'stu_phone.电话号码'

(4)插入操作输入以下数据:

学号姓名电话号码

0009 王国强1234yyy

是否可以成功插入?如果出现错误,请列出错误信息,为什么会产生该出错信息?如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule 规则能否对其他操作(如DELETE)进行规则检查?

答:○1、插入语句如下:

INSERT INTO stu_phone(学号,姓名,电话号码)

VALUES('0009','王国强','1234yyy')

○2、插入出错,错误信息如下:

消息513,级别16,状态0,第1 行

列的插入或更新与先前的CREATE RULE 语句所指定的规则发生冲突。该语句已终止。冲突发生于数据库'studentsdb',表'dbo.stu_phone',列'电话号码'。

语句已终止。

○3、出现错误的原因:在于电话号码的输入不对,因为电话号码绑定的规则是7位0-9的数字。

○4、修改:将电话号码中的字母改为数字即可,代码如下

INSERT INTO stu_phone(学号,姓名,电话号码)

VALUES('0009','王国强','1234567')

执行结果如下:

○5、不能,代码如下:

delete from stu_phone

where 电话号码= '1234567'

结果如下:

2.创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。

CREATE RULE STUSEX_RULE

AS @SEX IN('男','女')

EXEC SP_BINDRULE STUSEX_RULE,'STU_PHONE.性别'

3.使用系统存储过程sp_help查询stusex_rule规则列表。

EXECUTE SP_HELP STUSEX_RULE

结果截图如下:

使用sp_helptext查询stusex_rule规则的文本。

EXECUTE SP_HELPTEXT STUSEX_RULE

结果截图如下:

使用sp_rename将stusex_rule规则更名为stu_s_rule。

EXECUTE SP_RENAME STUSEX_RULE , STU_S_RULE

结果截图如下:

4.删除stu_s_rule规则。

EXEC SP_UNBINDRULE 'STU_PHONE.性别'

用DROP RULE STU_S_RULE语句进行删除,

截图如下:

5.在studentdb数据库中,建立日期、货币和字符等数据类型的默认对象。

(1)创建默认对象df_date、df_char、df_money。

①、创建日期型默认对象df_date,默认日期为2006-4-12。

CREATE DEFAULT DF_DATE AS '2006-4-12'

结果截图如下:

②、创建字符型默认对象df_char,默认字符为“unknown”

CREATE DEFAULT DF_CHAR AS 'UNKNOWN'

结果截图如下:

③、创建货币型默认对象df_money,默认为100元

代码如下:

CREATE DEFAULT DF_MONEY AS 'RMB:100'

结果截图如下:

(2)在studentsdb数据库中创建stu_fee数据表。

学号 char(10) NOT NULL

姓名 char(8) NOT NULL,

学费 money

交费日期 datetime

电话号码 char(7)

CREATE TABLE STU_FEE

(

学号CHAR(10)NOT NULL,

姓名CHAR(8)NOT NULL,

学费MONEY ,

缴费日期DATETIME,

电话号码CHAR(7)

)

结果截图如下:

(3)使用系统存储过程sp_bindehult将默认对象df_date、df_char、

df_money分别绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列上。

EXEC SP_BINDEFAULT DF_DATE,'STU_FEE.缴费日期'

EXEC SP_BINDEFAULT DF_CHAR,'STU_FEE.电话号码'

EXEC SP_BINDEFAULT DF_MONEY,'STU_FEE.学费'

结果截图如下:

(4)输入命令,在stu_fee表进行插入操作:

(学号,姓名) values ('0001',’刘卫平’)

(学号,姓名,学费) values ('0001',’张卫民’,$120)

(学号,姓名,学费,交费日期) values ('0001',‘马东‘,'$110’,'2006-5-12') INSERT STU_FEE

(学号,姓名) VALUES('0001','刘卫平')

INSERT STU_FEE

(学号,姓名,学费) VALUES('0002','张卫民',$120)

INSERT STU_FEE

(学号,姓名,学费,缴费日期) VALUES('0003','马东',$110,'2006-5-12') 结果截图如下:

(5)完成以下代码解除默认对象df_char、df_date、df_money的绑定,并删除之。

①、解除绑定

EXEC SP_UNBINDEFAULT 'STU_FEE.缴费日期'

EXEC SP_UNBINDEFAULT 'STU_FEE.电话号码'

EXEC SP_UNBINDEFAULT 'STU_FEE.学费'

②、删除

DROP DEFAULT DF_DATE,DF_CHAR,DF_MONEY

结果截图如下:

6.为学生表添加一列,命名为“院系”,

ALTER TABLE 学生表 ADD 院系CHAR(16)

结果截图如下:

创建一个默认对象stu_d_df,将其绑定到学生表的“院系”列上,CREATE DEFAULT STU_D_DF AS '信息院'

EXEC SP_BINDEFAULT STU_D_DF,'学生表.院系'

使其默认值为“信息院”,对学生表进行插入操作,

INSERT 学生表 (学号,姓名) VALUES('0009','王国强')

结果截图如下:

7.在studentsdb数据库中用CREATE TABLE语句创建表stu_con,并同时创建约束。

(1)创建表的同时创建约束。表结构如图1-12所示。

图1-12 要创建的表的结构

约束要求如下:

①将学号设置为主键(PRIMARY KEY),主键名为pk_sid。

②为姓名添加唯一约束(UNIQUE),约束名为uk_name。

③为性别添加默认约束(DEFAULT),默认名称为df_sex,其值为“男”

④为出生日期添加属性值约束(CHECK),约束名为ck_bday,其检查条件为:出生日期>'1988-1-1’。

CREATE TABLE STU_CON

(

学号CHAR(4)NOT NULL

CONSTRAINT PK_SID PRIMARY KEY(学号),

姓名CHAR(8)NOT NULL

CONSTRAINT UK_NAME UNIQUE,

性别CHAR(2)

CONSTRAINT DF_SEX DEFAULT ('男'),

出生日期DATETIME

CONSTRAINT CK_BDAY CHECK(出生日期>'1988-1-1'),

家庭住址VARCHAR(50)

)

结果截图如下:

(2)在stu_con表中插入如表1-1所示的数据记录。

在插入0010的数据时出现错误截图如下:

约束CK_BDAY的作用是使插入的数据中出生日期项都小于“1988-1-1”

在插入0012的数据记录时出现错误截图如下:

约束UK_NAME的作用是使插入的数据姓名项没有重复的内容

经修改完全插入后截图如下:

可发现,除自行修改外,表中数据与所插入的数据也不全相同。

(3)使用ALTER TABLE语句的DROP CONSTRAINT参数项在查询分析器中删除为stu_con表所建的约束。

ALTER TABLE STU_CON

DROP CONSTRAINT PK_SID,UK_NAME,DF_SEX,CK_BDAY

结果截图如下:

8、用SQL Server管理平台完成实验内容7的所有设置

①将学号设置为主键(PRIMARY KEY),主键名为pk_sid。

②为姓名添加唯一约束(UNIQUE),约束名为uk_name。

③为性别添加默认约束(DEFAULT),默认名称为df_sex,其值为“男”

④为出生日期添加属性值约束(CHECK),约束名为ck_bday,其检查条件为:出生日期>'1988-1-1’。

9、在查询分析器中,为studentsdb数据库的成绩表添加外键约束

(FOREIGN KEY),要求将“学号”设置为外键,参照表为学生表,外键名称为fk_sid。

alter table 成绩表add constraint fk_sid

foreign key(学号) references 学生表(学号)

⑴使用系统存储过程sp_help查看grade表的外键信息。

sp_help fk_sid

⑵在成绩表中插入表1-2所示记录,观察SQLServer会做何处理,为什么?如何解决所产生的问题?

表1-2

学号课程编号分数

0100 0001 78

INSERT 成绩表VALUES ('0100','0001','78')

因为外键约束fk_sid,学生表中不存在学号为0100学号的学生信息解决办法一:

在学生表中插入一行学号为0100的信息

再次执行INSERT成绩表VALUES('0100','0001','78')

方法二:先删除外键fk_sid再插入。

⑶使用查询分析器删除成绩表的外键fk_sid。

ALTER TABLE 成绩表

DROP CONSTRAINT fk_sid

四、实验思考

1.在SQLServer 2005中,可采用哪些方法实现数据完整性?

答:有SQL Server管理平台和查询分析器两种方法。

2,比较默认对象和默认约束的异同。

答:默认值对象与CREATE TABLE 或 ALTER TABLE 语句操作表时用默认约束指定的默认值功能相似,两者的区别类似于规则与检查约束在使用上的区别。默认值对象可以用于多个列或用户定义数据类型。表的一列或一个用户定义数据类型只能与一个默认值相绑定。

3.在数据库中建立的规则不绑定到到数据表的字段上会起作用吗?为什么?

答:不能。因为创建规则后,规则仅仅只是一个存在于数据库中的对象,并未发生作用。需要将规则与数据库表或用户定义对象联系起来,即绑定,才能达到创建规则的目的。

数据库完整性

第五章数据库完整性 一、选择题 1.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于__________。 A 实体完整性约束 B 参照完整性约束 C 用户自定义完整性约束 D 关键字完整性约束 【解答】C 2.完整性约束有两大类型,其中一种是静态约束,下面( c )不属于静态约束。 A.固有约束B.隐含约束C.语义约束D.显示约束 【解答】C 3.数据库的破坏一般来自四个方面,其中__________是属于完整性约束问题。 A.系统故障B.并发所引起的数据不一致C.人为的破坏 D.输入或更新数据库的数据有误,更新事务未遵守保持数据库一致性的原则 【解答】D 4. ________子句能够实现关系参照性规则。 A. PRIMARY KEY B. NOT NULL C. FOREIGN KEY D. FOREIGN KEY...REFERENCES... 【解答】D 二、填空题 1. 数据库的是指数据的正确性和相容性 【解答】完整性 2.完整性约束是指和。 【解答】实体完整性,参照完整性 3.实体完整性是指在基本表中,。 【解答】主属性不能取空值 4.参照完整性是指在基本表中,。 【解答】外码可以是空值或者另一个关系主码的有效值 5.SQL标准使用了一系列概念来描述完整性,包括关系模型的________ 、________和 ________完整性。 【解答】实体完整性参照完整性用户定义 6.数据库完整性的定义一般由SQL的________ 语句来实现。它们作为数据库模式的一部 分存入________中。

【解答】DDL 数据字典 7.关系模型的实体完整性在________ 中用________定义。 【解答】CREATE TABLE 、PRIMARY KEY 二、问答题 1.什么是数据库的完整性? DBMS的完整性子系统的功能是什么? 【解答】数据库完整性是指数据库中数据的正确性、有效性和相容性。DBMS 的完整性控制机制至少包括完整性约束的定义机制和完整性约束的检查机制。 DBMS完整性子系统的功能是: (1)监督事务的执行,并测试是否违反完整性规则; (2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。2.完整性规则由哪几个部分组成?关系数据库的完整性规则有哪几类? 【解答】完整性规则由三部分组成: 触发条件:即什么时候使用规则进行检查; 约束条件:即要检查什么样的错误; ELSE子句:即查出错误后该如何处理。 完整性规则有以下三类: 域完整性规则,用于定义属性的取值范围; 域联系的规则,定义一个或多个关系中,属性值间的联系、影响和约束。 关系完整性规则,定义更新操作对数据库中值的影响和限制。 3.试详述SQL中的完整性约束机制? 【解答】SQL中的完整性约束规则有主键约束、外键约束、属性值约束和全局约束等多种形式。 △主键约束。它是数据中最重要的一种约束。在关系中主键值不允许空,也不允许出现重复,体现了关系要满足实体完整性规则。主键可用主键子句或主键短语进行定义。 △外键约束。根据参照完整性规则,依赖关系中外键或者为空值,或者是基本关系(参照关系)中的该键的某个值。外键用外键关系子句定义,并考虑删除基本关系元组或修改基本关系的主键值的影响,依赖关系可按需要采用RESTRICT、SET NULL、CASCADE方式。△属性值约束。当要求某个属性的值不允许空值时,那么可以在属性定义后加上关键字:NOT NULL ,这是非空值约束。还可以用CHECK子句对一个属性值加以限制以及使用域约束子句CREAT DOMAIN 定义新域并加以属性值检查。 △全局约束。在关系定义时,可以说明一些比较复杂的完整性约束,这些约束涉及到多个属性间的联系或不同关系间的联系,称为全局约束。主要有基于元组的检查子句和断言。前者是对单个关系的元组值加以约束,后者则可对多个关系或聚合操作有关的完整性约束进行定义。 4. DBMS的完整性控制机制应具有哪些功能?

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

第四章 实现数据的完整性

第四章实现数据的完整性 内容摘要 数据完整性的类型 强制数据的完整性 定义约束 约束的类型 使约束失效 使用默认值和规则 决定使用哪种强制方法 考点提示 定义各种类型的数据完整性 定义各种类型的约束 定义默认值和规则 4.1 数据完整性概述 本章讲述数据完整性的概念和可用于强制数据完整性的方法,确保数据完整的主要方法——约束及其类型,以及如何创建和实现约束,在必要时如何使约束失效。同时讨论强制数据完整性的其他两种可选择的方法——默认值和规则。 4.2数据完整性类型 数据库设计时最重要的一步是确定用于强制数据完整性的最好方法。数据完整性指的是存储在数据库中的数据的一致性和准确性。数据完整性分为以卞几种。 1、域完整性(Domain integrity) 域(或列)完整性指定对列有效的一组值并决定是否允许有空值。通过使用有效检查可以强制域完整性,也可以通过在一列中限定数据类型、格式和可能值的范围来强制数据完整性。 2、实体完整性(Entity integrity) 实体(或表)完整性要求表中所有的行具有唯一的标识符,例如主关键字(primary key value)。主关键字是否可以改变或一整行是否可以删除,取决于主关键字和其他表之间的完整性级别。

3、参考完整性(References integrity) 参考完整性确保维持主关键字(被参照表中)和外部关键字(参照表中)的关系。如果有外部关键字提到了该行,在被参照表中的行不能被删除,也不能改变主关键字,除非允许级联操作。可以在同一个表中或在独立的表之间定义参考完整性。 4.3 强制数据完整性 通过两种方式可以强制数据的完整性:声明的数据完整性和过程的数据完整性。 4.3.1 声明数据完整性 使用声明数据完整性,可以定义标准规定数据必须作为对象定义的一部分,然后Microsoft SQL Server2000自动确保数据符合该标准。实现基本数据完整性的最好方法是使用声明的数据完整性。考虑以下事实: 通过使用直接在表中或列中定义的声明约束,使声明的完整性作为数据库定义的一部分声明。 通过使用约束,默认值和规则实现声明完整性。 4.3.2 过程数据完整性 使用过程数据完整性,可以编写用来定义数据必须满足的标准和强制该标准的脚本。必须限制将过程完整性用于更复杂的商业逻辑和例外中,例如,想进行级联删除时使用过程完整性。考虑以下关于过程完整性的事实: 通过使用其他编程语言和工具,可以在客户机和服务器上实现过程完整性。 通过使用触发器和存储过程可以实现过程完整性。 4.4 定义约束 约束是强制数据完整性的较好方法。本节讨论如何决定使用的约束类型,每种约束强制哪种数据完整性和如何定义约束。 4.4.1 决定使用哪种约束类型

数据库完整性及SQL Server的完整性控制

第8章数据库完整性及SQL Server的完整性控制 一、多选题 1. 数据的完整性是指数据的()。 A.一致性B.正确性 C.相容性D.有效性 2. 在SQL Server中属于表级完整性约束的是()。 A.实体完整性约束B.域完整性约束C.参照完整性约束 D.以上三者均是 3. 在SQL Server中实现数据完整性的主要方法有()。 A.约束B.默认C.规则D.触发器 4. 在SQL Server的数据完整性控制中属于声明数据完整性的是()。 A.约束B.默认 C.规则D.触发器 5. 在SQL Server的数据完整性控制中属于过程数据完整性的是()。 A.存储过程B.默认C.规则D.触发器 6. 在SQL Server中,以下( )约束属于域完整性约束。 A.DEFAULT B.CHECK C.NULL D.FOREIGN KEY 7. 有关默认对象与默认约束的叙述中正确的是()。 A.默认约束是嵌入到表的结构中,默认对象是独立于表的 B.删除表时默认约束与默认对象同时被删除C.默认约束能实现的功能默认对象也能实现 D.一个默认对象可以绑定到多个列上 8. 有关规则的叙述中正确的是()。 A.规则与默认对象一样,可以绑定到列上,也可以绑定到用户定义的数据类型上 B.在一列上只能使用一个规则C.删除规则时,需先解除规则的绑定 D.同一列上若已CHECK约束,再绑定规则时,CHECK约束优先 9. 属性值约束主要有()。 A.非空值约束 B. 基于元组的检查子句C.域约束子句 D.默认二、填空题 1. SQL Server 2000中的数据完整性包括()、()和参照完整性3种。 2. SQL Server使用声明数据完整性和()两种方式实现数据完整性。3.()完整性,它要求表中所有的元组都应该有一个惟一标识,即主关键字。可以使用()约束实现实体完整性,也可以将()约束和()约束一起使用来实现实体完整性。 4.()完整性维护从表中的外码与主表中主码的相容关系。 5.为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS就()。 三、简答题 1.简述SQL Server2000实现数据库完整性的方法。 2.简述默认对象与默认约束的区别。 3.简述规则与CHECK约束的区别。

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,右击,选择“关系”,出现如下信息,

SQL数据库图书管理系统(完整代码)

作品设计报告书题目:《图书管理系统》 班级网络2012-1班 学号 姓名 课程名称数据库应用技术 指导教师

目录

数据库课程设计报告书 一、设计目标 1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织 和实施。 2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试 运行等工作。 3.培养把所学知识运用到具体对象,并能求出解决方案的能力。 二、数据库存储设计指导思想 在数据库存储设计的无数选择中,简单是系统架构师和DBA 的秘密武器。 简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O 特性,总有这么一种可能,一个富有经验的DBA 拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。 三、任务 角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语言及查询结果。 2.上机实现。

1.问题描述 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。 5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。 9.还书信息的输入,包括借书证编号、书籍编号、还书日期。 10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

数据库完整性

大连海事大学 数据库原理课程实验大纲 实验名称:实验七完整性实验学时: 2 适用专业: 实验环境: 执笔者:编写日期: 1实验目的 (1)掌握实体完整性、参照完整性和用户自定义完整性约束的创建方法。 (2)掌握完整性约束的运行检查机制。 (3)掌握参照完整性的级联删除和修改方法。 (4)掌握正确设计关系模式完整性约束的方法。 2实验内容 2.1掌握实体完整性约束的创建和使用方法 (1)创建表时定义由一个属性组成的主键(给约束命名)。 (2)创建表时定义由两个或两个以上属性组成的主键(给约束命名)。 (3)删除以上两个主键约束。 (4)利用ALTER TABLE语句定义上述两个主键。 2.2掌握参照完整性约束的创建和使用方法 (5)创建表时定义一个列级参照完整性约束(给约束命名)。 (6)创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名)。(7)设计数据更新语句检查参照完整性约束是否起作用。

(8)删除上述完整性约束。 (9)利用ALTER TABLE 建立上述参照完整性约束,并且规定UPDATE/DELETE时的动作。 (10)设计数据更新语句检查参照完整性约束及其相应的动作是否起作用。 2.3掌握用户自定完整性约束的创建和使用方法 (11)定义一个检查约束,检查其值在某个取值范围内,并设计相应的更新语句检查该约束是否起作用 (12)定义一个检查其值符合某个匹配模式的检查约束(使用LIKE),并设计相应的更新语句检查该约束是否起作用 (13)定义一个检查其值符合某个正则表达式的检查约束(使用SIMILAR TO),并设计相应的更新语句检查该约束是否起作用 (14)定义一个UNIQUE约束,并设计相应的更新语句检查该约束是否起作用 (15)定义一个DEFAULT约束,设计一个INSERT语句检查该约束是否起作用。 3实验要求 (1)深入复习教材第五章数据库完整性约束内容。 (2)根据书上的例子,针对TPCH数据库模式设计各种完整性约束,每种类型完整性约束至少要设计一个,描述清楚完整性约束要求,设计和运行触发完整性约束检查的数据更新语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。也可以按照附1所列示例做实验。(3)实验步骤和实验总结中要详细描述实验过程中出现的问题、原因和解决方法。 (4)思考题:完整性约束的违约处理有哪几种方式 4实验步骤 4.1掌握实体完整性约束的创建和使用方法 (1)创建表时定义由一个属性组成的主键(给约束命名)。

实验八使用触发器实现数据完整性

实验八使用触发器实现数据完整性 一、实验目的 使学生用触发器实现数据完整性的重要性,掌握用触发器实现数据完整性的方法, 掌握用触发器实现参照完整性的方法,并理解触发器与约束的不同。 二、实验内容 (1)为表建立触发器,实现域完整性,并激活触发器进行验证。 (2)为表建立级联的触发器,实现参照完整性,并激活触发器进行验证 (3)比较约束与触发器的执行顺序。 三、实验指导 实验 8.1 创建 JXGL数据库的表 S 的 INSERT触发器材 tri_INSERT_S,插入年龄在线 15 到 30 之间的记录。 实验 8.2 创建 JXGL 数据库的表 S 的 DELETE 触发器 tgr_s_delete, 当删除 S 表中的记录时触发该触发器

DELETE 触发器会在删除数据的时候主,将刚才删除的数据保存在 下面删除表S 中的记录: DELETED表中。 实验 8.3 在数据库 JXGL中有 3 个表,即 S、SC和 C,其中,表 S 连接。如果要删除表 S 中的记录,需要创建触发器,先删除 SC的字段 sno 作为外键与表SC中与要删除记录级联的所 有记录,再删除表S 中的记录。

实验 8.4 为学生表 S创建一个 UPDATE 触发器,当更新了某同学的姓名时,就激活该触发器,并使用 PRINT 语句返回一个提示信息。

deleted表中,将更新后的数据保UPDATE 触发器会在更新数据后,将更新前的数据保存在 存在 inserted 表中。 实验 8.5触发器中的其它操作。 (1)触发器中常用的消息函数raiserror() 的应用。

数据库管理系统中的SQL语言

数据库管理系统中的SQL语言 SQL的9条核心命令动词: SELECT 数据查询 CREATE/DROP/ALTER 数据定义 INSERT/UPDATE/DELETE 数据操纵 GRANT/REVOKE 数据控制 数据库的定义 SQL的作法:CREATE DATABASE <数据库文件名> VFP的作法:无直接创建数据库的SQL命令 数据库的管理 1、显示数据库信息 SP_HELPDB [数据库名] 2、配置数据库 SP_DBOPTION['数据库名'][,'选项名'][,'值'] 3、重新命名 SP_RENAMEDB'原名','新名' 4、删除数据库 DROP DATABASE 数据库名 数据表的定义 在SQL Server 2000和Visual FoxPro中都可以使用SQL语言定、操作管理和删除数据表 SQL基本表作法:CREATE TABLE [数据库名,[所有者,]]<表名> VFP基本表作法:CREATE TABLE|DBF <表名>[FREE](<字段名1><类型>(<长度>[,<小数位数>]) 数据表的管理 1、查看表的结构 SQL作法:SP_HELP[[@OBJNAME=]NAME] 2、修改表结构 SQL作法:ALTER TABALE 表名 ADD |ALTER COLUMN | DROP COLUMN <字段名1>[类型[(长度)]] [ NULL] [ NOT NULL] VFP作法:ALTER TABALE 表名 ADD |ALTER [COLUMN ]<字段名1><类型>(<长度>[,<小数位数>] [ NULL] [ NOT NULL] 3、表的删除 SQL作法和VFP作法相同 DROP TABALE <表名> 4、数据的插入 SQL作法:INSERT [INTO]<表名>[(列名)] VALUES (表达式) VFP作法:INSERT INTO <表名>(<字段名1>[,<字段名2>]…)VALUES (<表达式1>,<表达式2>]…)

实验五 SQL SERVER 完整性与安全性 实验报告

实验五SQL SERVER 完整性与安全性 一、实验目的 掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。 二、实验内容 1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。 2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。

3.授予用户John创建表和视图的权限。 grant create table,create view to John 在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”, 如图:

即可赋予John“创建表”和“创建视图”的权限。 4.完成以下授权: (1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。 grant insert on S to tom with grant option (2)用户Mary对S,P,J三个表有SELECT和INSERT权力 grant select,insert on S to Mary grant select,insert on P to Mary grant select,insert on J to Mary (3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。 grant delete,update(qty) on spj to Tom

图书馆管理系统(SQL数据库)

摘要 在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入了大量的人力和财力却得不到高效的管理效率。为了便于图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高图书借阅信息管理效率的目的。采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中 关键字:图书借阅;人员管理;图书维护。

目录 1.引言 (1) 2. 需求分析阶段 (2) 2.1 引言 (2) 2.2 需求分析阶段的目标与任务 (2) 2.2.1处理对象 (2) 2.2.2处理功能及要求 (3) 2.2.3.安全性和完整性要求 (3) 2.3 需求分析阶段成果 (3) 2.3.1 体会与收获 (3) 2.3.4 图书管理系统数据字典 (4) 3 概念设计阶段 (7) 3.1 引言 (7) 3.2 任务与目标 (7) 3.3 阶段结果 (8) 4.逻辑设计阶段 (9) 4.1逻辑设计的任务和目标 (9) 4.2数据组织 (10) 4.2.1将E-R图转换为关系模型 (10) 4.2.2模型优化 (11) 4.2.3数据库模式定义 (11) 5.物理设计阶段 (14) 6.数据库实施阶段 (14) 6.1建立数据库、数据表、视图、索引 (14) 6.1.1 建立数据库 (14) 6.1.2 建立数据表 (14) 6.1.3 建立视图 (16) 6.1.4 建立索引 (17) 6.2 应用举例 (17) 7.结束语 (21) 参考文献 (23)

SQL数据库实训示例

附录: SQL数据库实训示例--------客房管理系统设计 ●本系统要求实现以下主要功能: 1.数据录入功能 在本系统中提供客人信息登记功能。可以录入客人的姓名、性别、年龄、身份证号码、家庭住址、工作单位、来自地的地名、入住时间、预计入住天数、客房类别、客房号、离店时间以及缴纳押金金额等信息。在客人退房时,系统根据输入的离店时间及客房单价自动计算客人住宿费金额。 2.数据查询功能 系统需要提供以下查询功能: (1)查某类客房的入住情况及空房情况,显示所有该类客房空房数目和客房号。 (2)根据客人姓名、来自地的地名、工作单位或家庭住址等信息查询客人信息;根据客房号查询入住客人的信息。 (3)查询某个客人住宿费用情况,显示客人缴纳押金金额、实际入住天数、客房价格、实际住宿费、住宿费差额及余额等信息。 (4)查询所有入住时间达到或超过预计入住天数的客人。 3.数据统计功能 (1)统计一段时间内各类客房的入住情况。 (2)统计全年各月份的客房收入。 (3)统计一段时间内各类客房的入住率。 ●系统的实现 1.数据库概念设计 数据库的概念设计就是画出E-R图。 分析前面的系统功能要求,需要一个表来存储和管理客人信息,使系统能够接受客人入住时输入的各项数据,以实现数据录入、查询或统计客人信息等功能。客人是本系统的第一个实体。 为了能实现查询和统计客房入住情况等功能,必须有一个表来存储和管理所有客房的信息。客房是本系统的第二个实体。 客房价格是以客房的类型来制定的。需要建立一个表来记录各种客房类型的信息。它主要为各种查询和统计功能提供客房价格数据。客房类型是第3个实体。 据此可以绘出客房管理系统数据库的E-R图如下:

医院管理系统sql数据库

湖南涉外经济学院课程设计报告 课程名称数据库原理与应用课程设计题目医院管理系统 学院信息科学与工程学院 组员

班级计科1301班指导教师彭浩 2015年12月25日

任务分配表

摘要 信息化的今天,计算机的普及应用和信息技术、网络技术的发展给人们的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本,提高工作效率的首选。与此同时,医学技术的提高和人们生活观念的改变,使传统的医院管理机制表现出许多不足,国内的相当数量的中小型医院的信息管理工作流程还采用相对保守的人工工作方式,数据信息的查询和存储的成本较高,而且效率还很低下。 医院要紧跟时代发展的步伐和潮流,必须实现医院全面的信息化管理,为病人提供现代化的服务,提高对病人的服务水平,方便、准确、快捷地为病人提供医疗服务和医疗费用信息,进而增强病人对医院的信任和支持。当前,医院还面临着越来越激烈的市场竞争、要想在竞争中取胜,也必须采用先进的管理方法和手段。 医院信息管理系统主要采用了JAVA语言和SQL数据库结合的B/S设计模式,可以帮助医院实现对医务人员工作的考核管理,动态了解医院的经营状况等,同时也从侧面减少了医院处方的流失,提高了医院的综合管理效益与经济效益。在医院各部门之间进行数据通信,自动把信息送到各有关科室,易于实现全院性的各种统计、检索和分析。在加速培养高水平医务人员上起到了作用,极大提高信息传递速度和减少错误。 关键词:医院信息管理系统;JAVA;SQL

目录 第一章绪论 (1) 1.1系统开发背景概述 (1) 1.2 系统开发的目的与意义 (1) 第二章数据库需求分析 (2) 2.1信息要求 (2) 2.2系统构成 (2) 2.3数据流图 (3) 2.4数据字典 (4) 第三章数据库概念结构设计 (7) 第四章数据库逻辑结构设计 (11) 4.1关系模式 (11) 4.2数据模型优化 (11) 第五章数据库实施阶段 (16) 5.1数据库创建 (17) 5.2数据表查询 (22)

SQL SERVER数据完整性及约束

龙源期刊网 https://www.360docs.net/doc/e39713568.html, SQL SERVER数据完整性及约束 作者:李浩周媛媛 来源:《科技与企业》2013年第15期 【摘要】所谓数据完整性,实际上是衡量数据库中数据质量好坏的一种标志,是确保数据库中数据一致,正确以及符合企业规则的一种思想,本文以详细的文字来介绍了什么是数据完整性及约束,以及如何在数据库建设中应用和使用这些约束。 【关键词】SQL Server;约束;数据完整性;一致性 在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库的表中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制,对输入数据的取值范围和格式的限制称为约束。约束是用来保证数据完整性的。在SQL Server中有6种常设约束:空置约束(NULL)、唯一性约束(unique constraint)、主键约束(primary key constraint)、外键约束(foreign key constraint)、检查约束(check constraint)、缺省约束(default constraint)。 一、SQL Server的数据完整性 存储在数据库中的所有数据值均属正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。 强制数据完整性可确保数据库中的数据质量。例如,如果有一“教学管理数据库”,学生表中学号一项输入了值为20110101的学生,那么该数据库不应允许其他学生使用同一学号值。如果计划将选修表中成绩的值范围设定为0到100,则数据库不应接受121。如果学生表有一列为班级编码,该列存储的班级编码为数据库中允许的有效班级编码。 二、数据完整性分类 在SQL Server中,根据数据完整性所作用的数据库对象和范围不同,可以将数据完整性 分为实体完整性、域完整性、引用完整性、用户定义完整性四种。 1、实体完整性 实体完整性,简单来说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性(主键不能为空)。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束来实施实体完整性。 2、域完整性

数据库的完整性

实验七数据库的完整性 一、实验目的 1.理解关系数据库中关于数据库完整性的概念 2.掌握实体完整性的定义方法 3.掌握参照完整性的定义方法 4.掌握用户自定义完整性的方法 二、实验环境(实验的软件、硬件环境) 硬件:PC机软件:SQL2000 三、实验说明 请复习数据库完整性的相关知识点,完成如下实验内容。 四、实验内容 (1)重建orderDB数据库中的表,分别为每张表建立主键,外键。 (2)各表的用户定义的完整性如下: 员工表:员工姓名,电话属性为not null;员工编号构成:年流水号,共8位,第一位为E,如E2008001,年份取雇佣日期的年份;性别:f表示 女,m表示男。 商品表:商品编号、商品名称、商品类别、建立日期设为not null;商品编号构成:年流水号,共9位,第一位为P,如P2*******,年份取建 立日期的年份 客户表:员工编号、姓名、性别、所属部门、职称、薪水设为not null; 客户号构成:年流水号,共9位,第一位为C,如C20080001,年份取 建立日期的年份 订单主表:订单编号的构成:年月日流水号,共12位,如200708090001; 订单编号、客户编号、员工编号、发票号码设为not null;业务员必须是 员工;订货日期和出货日期的默认值设为系统当前日期;订单金额默认 值为0;发票号码建立unique约束。

订单明细表:订单编号、商品编号、数量、单价设为not null。 五、实验步骤 请完成实验内容,并写出具体的实验步骤 六、思考题: 1.什么是数据库的完整性? 2.SQLServer数据完整性的实现方式有(1)声明数据完整性,(2)过程数据完整性,请区别他们的异同和使用情况? 七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

sql数据库示例,适合初学者

一、数据库概述 数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统) 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。 数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。 数据库:存储、维护和管理数据的集合。 二、数据库的安装与配置 * 安装 * 参照图解 * 一路下一步 * 配置 * 参照图解 * 到选择字符集时停 登录Mysql: mysql -u root -p abc * 卸载 1.停止mysql服务net stop mysql 启动mysql服务net start mysql 2.卸载mysql 3.找到mysql 安装目录下的my.ini datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" * 修改密码 运行cmd * 安装成功了打开cmd --> mysql -uroot -p你的密码 * 修改mysql root用户密码 1) 停止mysql服务运行输入services.msc 停止mysql服务 或者cmd --> net stop mysql 2) 在cmd下输入mysqld--skip-grant-tables 启动服务器光标不动(不要关闭该窗口) 3) 新打开cmd 输入mysql -u root -p 不需要密码

SQL-04数据完整性

练习4 约束、默认和规则 4.1上机目的 1、练习使用企业管理器和T-SQL命令在查询分析器中创建表,管理表,熟悉并逐步掌握其中的步骤和对应语句。 2、在企业管理器和查询分析器中练习约束、规则、默认的设置,通过练习逐步掌握约束的种类,作用和创建方法 3、了解数据库关系图的作用,掌握数据库关系图的建立方法。 4.2 上机练习预备知识点 4.2.1 数据完整性 1、数据完整性是指数据库中数据的正确性和一致性,是衡量数据库质量的一个重要标准。 2、数据完整性包括:实体完整性、区域完整性、参照完整性、自定义完整性。 ①实体完整性:确保数据库中所有实体的唯一性,也就是不应有完全相同的数据记录。 实现方法:设定主键、设定唯一键、设定唯一索引、设置标识 ②区域完整性:要求数据表中的数据位于某一个特定的允许范围内。 实现方法:设定默认值、设定核查约束、设定外键约束、设定规则 ③参照完整性:用来维护相关数据表之间数据一致性的手段,避免因一个数据表的记录改变而造成另一个数据表内的数据变成无效的值。 实现方法:设定外键约束、核查约束、触发器和存储过程 ④用户自定义完整性:由用户根据实际应用中的需要自行定义。 实现方法:规则、触发器、存储过程等。 4.2.2 约束 1、实现数据完整性最重要的方法,主要目的是限制输入到表中的数值的范围。 字段级约束:是数据表中字段定义的一个部分,只能应用于数据表中的一个字段。如:为性别设置核查约束,只能输入“男”或者“女”,不能输入其他内容。 数据表级约束:独立于数据表的字段定义之外,它可以应用于数据表中的多个字段。如将表中的几个字段组合设置为主键。 2、约束的种类: ①主键(PRIMARY KEY)约束 唯一标识表中的每一行的列或者列的组合,可以强制表的实体完整性。主键不允许为空。 ②外键(FOREIGN KEY)约束 若列或者列的组合不是本表的关键字,而是另一个表的关键字,则称这些列或者列的组合是外键。一般表与表之间通过主键和外键进行连接,通过它可以强制表与表之间实现参照完整性。外键约束要求列中的每个值在被引用表对应的被引用列中都存在。 ③唯一(UNIQUE)约束 用于确保非主键字段中数据的唯一性。 ③核查(CHECK)约束 用于限制输入到一列或多列的值的范围,从逻辑表达式判断数据的有效性。 ④默认(Default)约束 向数据表中插入记录时,如果用户没有指定该列的值,而该列需要一个明确值的情况下,则插入默认约束定义的值。 ⑥非空(Not null)约束

SQL SERVER数据完整性及约束

SQL SERVER数据完整性及约束 【摘要】所谓数据完整性,实际上是衡量数据库中数据质量好坏的一种标志,是确保数据库中数据一致,正确以及符合企业规则的一种思想,本文以详细的文字来介绍了什么是数据完整性及约束,以及如何在数据库建设中应用和使用这些约束。 【关键词】SQL Server;约束;数据完整性;一致性 在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库的表中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制,对输入数据的取值范围和格式的限制称为约束。约束是用来保证数据完整性的。在SQL Server中有6种常设约束:空置约束(NULL)、唯一性约束(unique constraint)、主键约束(primary key constraint)、外键约束(foreign key constraint)、检查约束(check constraint)、缺省约束(default constraint)。 一、SQL Server的数据完整性 存储在数据库中的所有数据值均属正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。 强制数据完整性可确保数据库中的数据质量。例如,如果有一“教学管理数据库”,学生表中学号一项输入了值为20110101的学生,那么该数据库不应允许其他学生使用同一学号值。如果计划将选修表中成绩的值范围设定为0到100,则数据库不应接受121。如果学生表有一列为班级编码,该列存储的班级编码为数据库中允许的有效班级编码。 二、数据完整性分类 在SQL Server中,根据数据完整性所作用的数据库对象和范围不同,可以将数据完整性分为实体完整性、域完整性、引用完整性、用户定义完整性四种。 1、实体完整性 实体完整性,简单来说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性(主键不能为空)。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束来实施实体完整性。 2、域完整性 域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类

数据库的完整性和安全性实验报告

信息工程学院实验报告 课程名称:《数据库原理》 实验项目名称:数据库的完整性和安全性 一、实 验 目 的: (1)掌握数据库约束的概念; (2)熟悉SQL SERVER 的完整性约束技术。 (3)了解SQL SERVER 的违反完整性处理措施。 (4)了解登录账户的管理理念与具体方法。 (5)了解数据库用户的管理的要则。 (6)了解用户权限管理的内涵与方法。 二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤 (一)测试完整性 运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。 1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2) PRIMARY KEY dname VARCHAR(20) NOT NULL,UNIQUE (1)增加数据 INSERT INTO dept VALUES('D1','计科系');----正常插入 INSERT INTO dept VALUES('D2','电信系');----正常插入 INSERT INTO dept VALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则 INSERT INTO dept VALUES('D2','机械系'); ----违反dno 主键(UNIQUE ) INSERT INTO dept VALUES('D3',NULL); ----违反dname 的NOT NULL 规则

Oracle数据库实例的创建、删除与修改(doc 6页)

Oracle数据库实例的创建、删除与修改(doc 6页)

Oracle数据库实例的创建、删除、修改 以SUSE10SP2、Oracle10gR2为例。 本文中的数据库实例这一称谓应该换做数据库更为准确,数据库可以理解为是一个物理的静态概念,主要包括一些物理存在的数据库文件,而数据库实例则是一个动态概念,包括一些内存区域以及若干进程,数据库实例是对数据库进行操作的执行者。(20090714修改) 安装完Oracle数据库系统的安装后,需要创建数据库实例才能真正开始使用Oracle数据库服务。 总结起来,Oracle有三种创建数据库实例的方法。 第一种,最常用也最简单,那就是通过DBCA(Database Configuration Assistant),这是Oralce提供的一个图形界面的数据库实例配置工具,通过它可以创建、删除和修改数据库实例,它的使用也比较简单、易懂,交互式的图形界面操作,非常准确有效的提示与配置,是一个比较方便的创建数据库实例的方式。 按照DBCA给出的提示,很容易创建一个新数据库实例。 在创建数据库的时候,DBCA还提供了两个选项,让你可以根据刚刚设置好的参数生成一个数据库实例模板和一份数据库实例创建脚本。这两个东西是非常好,非常有用的东西,数据库模板由Oracle自己管理维护,已经创建好的数据库实例模板可以在DBCA图形程序新建数据库实例时作为模板来使用,另外在DBCA使用responseFile文件或者命令行参数创建数据库时也需要用到(见后面介绍);数据库创建脚本是一组脚本,包括shell脚本和sql脚本,这些脚本共同实现一个功能,那就是按照你之前在DBCA中设置好的那样创建一个数据库实例(后面也会有介绍),你需要做的只是将这些脚本在你的代码中调用起来。当然,你也可以选择只生成数据库模板或者数据库脚本,而不用去创建一个真的数据库(这通常很费时间)。

相关文档
最新文档