实验二、创建数据库及表、完整性约束
实验2 数据库和表的创建和管理
§3.2实验二数据库和表的创建与管理(2学时)3.2.1 实验目的1.熟悉SQL Server Management Studio中建立数据库、连接数据库的操作。
2.掌握SQL Server Management Studio的工作环境,以及在其中使用SQL的基本操作。
3.掌握SQL的数据定义功能包括:定义表、删除表和修改表以及建立索引和删除索引。
4.掌握在SQL Server Management Studio中定义表、删除表、修改表、建立索引、删除索引操作。
5.掌握SQL Server的分离和附加的方法。
3.2.2 实验内容和步骤1.用SQL语句和交互的方式实现以下要求:建立数据库“学生-课程”数据库MyDb;1)创建表Student、Course和SC,并为每个表定义主键约束;Student(Sno,Sname,Ssex,Sage,Sdept)Course (Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)2)分别向三个表中插入数据和建立图书管理系统数据库1)创建表:图书(书号,类别,出版社,作者,书名,定价,出版数量)读者(读者编号,姓名,单位,性别,电话)借阅(书号,读者编号,借阅日期)2)分别向三个表中插入数据2.“学生-课程”数据库或图书管理数据库的分离与附加1)将数据库分离;✧点击“程序->Microsoft SQL Server 2005->SQL Server Management Studio”,打开SQL Server Management Studio ;✧在对象资源管理器中,然后展开数据库,选中要分离的数据库;✧点击鼠标右键“任务-分离数据库”;✧点击确定,该选定的数据库就被分离;✧将该数据库的mdf(数据文件)和ldf(事务日志文件)拷贝带走。
2)将某一存储器(硬盘、软盘或U盘)上的数据库附加到实验机器上。
✧在附加数据库之前,将与数据库关联的.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标服务器上,或是同一服务器的不同文件目录下。
数据库实验二创建数据库和表
实验二创建数据库和表一、实验目的1、掌握使用SQL语句创建和删除数据库。
2、了解SQL Server的基本数据类型和表结构特点。
3、掌握使用SQL语句创建和删除数据表,修改表的结构。
二、实验内容(一)数据库的建立1、在对象资源管理器里建立名为“stu”的数据库。
写出其默认的各参数(包括逻辑文件名、物理文件名、文件初始大小、增长方式、增长大小等)。
答:其默认的个参数如下所示:行数据文件——逻辑文件名stu,物理文件名空值,文件初始大小3MB,自动增长,增量为1MB,不限制增长。
日志文件——逻辑文件名stu_log,物理文件名空值,文件初始大小1MB,自动增长,增量为10%,不限制增长。
2、在“查询分析器”中使用CREATE DATABASE语句创建名为“student”的数据库,要求如下:数据文件的逻辑文件名为:Students_dat,物理文件名Students.mdf,存放在D:\TEST 文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加1MB;日志文件的逻辑文件名为:Students_log,物理文件名Students.ldf,也存放在D:\TEST文件夹下;文件的初始大小为:1MB;增长方式为自动增长,每次增加10%。
答:语句如下所示:CREATE DATABASE studentON PRIMARY(NAME = Students_dat,FILENAME = ‘D:\ TEST\Students.mdf’,SIZE = 3mb,MAXSIZE = UNLIMITED, FILEGROWTH=1mb)LOG ON(NAME = Students_log,FILENAME = ‘D:\ TEST\Students.ldf’,SIZE = 3mb, MAXSIZE = UNLIMITED, FILEGROWTH=10%)COLLATE Chinese_PRC_CI_ASGO3、用SQL语句删除数据库stu。
第二次数据库实验-创建和修改数据表及数据完整性
《数据库原理与应用》实验报告(实验名称:创建和修改数据表及数据完整性)专业班级学号学生姓名指导老师怀化学院计算机科学与技术系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。
实验指导二 数据库的完整性
实验二、数据库的完整性一、实验目的1、理解数据库完整性的内容以及各类约束的作用。
2、掌握设置数据表中的各类约束的SQL语句。
2、根据要求为数据表设计数据类型、完整性约束实现数据库的完整性,设计数据验证各类约束的效果,并根据数据库管理系统的提示分析各种出现违反完整性约束的情况。
二、实验类型设计型三、实验环境CPU 2.0 GHz, 1.0 G Memory;Windows2003, SQL Server 2005。
四、实验内容及步骤理解以下几张表的内容,根据实际情况设计属性名、数据类型、及各种完整性约束(primary key、foreign key、not null、unique、check),用数据定义语言实现,然后设计实验数据验证约束的效果,当操作违反了完整性约束条件时,数据库管理系统是如何处理的。
1、创建数据库S_T。
2、新建一张学生信息表,该表至少包含学号,姓名,性别,出生日期,专业,要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),唯一约束(unique),为性别设置检查约束(check)使该属性只能取“男”或“女”。
3、新建一张专业信息表,该表至少包含专业号,专业名称,专业负责人,专业要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),唯一约束(unique)。
4、新建一张课程信息表,该表至少包含课程号,课程名称,学分,开课学期等属性,根据以下课程信息为每个属性选择合适的数据类型。
要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),为学分设置约束使该属性取值范围为1到10之间的整数。
5、新建一张选课信息表,该表至少包含学号,课程号,成绩,基点等属性,根要求:在建表的过程设置约束,根据实际情况选择属性设置主码(primary key),为成绩设置约束使该属性取值范围为0到100之间的整数。
完整性约束实验
数据库的完整性约束一、实验目的1.掌握主键约束、外键约束及及check约束的用法;2.掌握默认值约束的应用;二、实验环境已安装SQL Server 企业版的计算机;具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.熟悉数据库完整性相关概念及约束;2.了解约束、默认值及规则;3.完成实验报告;五、实验内容及步骤以系统管理员身份登录到SQL Server服务器,并使用T-SQL语句实现以下操作;1.请用至少2种方法定义stu数据库中student表的主键sno;2.将数据库stu的表course的cno字段定义为主键,约束名称为cno_pk;3.为表course中的字段cname添加唯一值约束;4.将数据库stu的表sc的sno及cno字段组合定义为主键,约束名称为sc_pk;5.对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表course的主码cno对应,实现如下参照完整性:1)删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录;2)修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改;3)修改course表cno字段值时,该字段在sc表中的对应值也应修改;4)删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的记录;5)向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒绝插入;6. 定义check约束,要求学生学号sno必须为9位数字字符,且不能以0开头,第二三位皆为0;(不用做)7. 定义stu数据库中student表中学生年龄值在16-25范围内;8. 定义stu数据库中student表中学生姓名长度在2-8之间;9. 定义stu数据库中student表中学生性别列中只能输入“男”或“女”;10. 定义stu数据库student表中学生年龄值默认值为20;11. 修改student表学生的年龄值约束可以为15-30范围内;(不用做)12. 删除上述唯一值约束、外键约束及check约束;13.向下列三个表中分别插入如下数据:SC表Course 表14、在上面的基础上分别向studentinfo 数据库中的student, course, sc 表中添加少8条数据。
数据库实验二建立表和数据完整性
实验二:建立表和数据完整性一、实验目的与要求: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。
数据库的完整性实验报告
数据库的完整性实验报告数据库的完整性实验报告引言:数据库的完整性是指数据库中存储的数据必须满足预定的一致性要求,包括实体完整性、域完整性、参照完整性和用户定义的完整性。
本实验旨在通过设计一个简单的数据库,并通过实际操作验证其完整性。
一、实验目的本实验的目的是通过设计和操作数据库,了解数据库的完整性概念,并掌握如何保证数据的完整性。
二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统上进行实验。
三、实验步骤1. 创建数据库首先,我们需要创建一个数据库来存储我们的数据。
在MySQL中,可以使用以下命令创建一个新的数据库:```CREATE DATABASE integrity;```2. 创建数据表接下来,我们需要创建一个数据表来存储我们的数据。
假设我们要创建一个学生信息表,包括学生的学号、姓名和年龄。
可以使用以下命令创建该表:```USE integrity;CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```3. 插入数据现在,我们可以向刚刚创建的数据表中插入一些数据。
例如,我们可以插入几个学生的信息:```INSERT INTO students (id, name, age) VALUES (1, '张三', 20);INSERT INTO students (id, name, age) VALUES (2, '李四', 22);INSERT INTO students (id, name, age) VALUES (3, '王五', 21);```4. 实体完整性实体完整性是指每个实体都必须具有一个唯一的标识符。
在我们的学生信息表中,学生的学号是唯一的标识符。
为了保证实体完整性,我们可以在创建表时使用PRIMARY KEY约束来定义学号为主键:```CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```这样,如果有重复的学号插入到表中,系统会报错并拒绝插入。
实验创建数据库及关系表数据完整性约束
实验创建数据库及关系表数据完整性约束CKBOOD was revised in the early morning of December 17, 2020.实验一创建数据库及关系表、数据完整性约束网工1203 熊健羲 38一、实验目的1. 掌握SQL Server数据库管理系统的使用,能够在该环境中进行日常数据库操作;2. 掌握在SQL Server中使用图形化工具创建数据库的方法;3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句;4.掌握修改表结构的语句。
5.掌握数据完整性约束的功能。
二、实验内容和步骤1.创建符合如下条件的数据库:数据库的名字为:Students数据文件的逻辑文件名为:Students_dat,存放在用户盘某目录下;文件的初始大小为:5MB;增长方式为自动增长,每次增加1MB。
实验结果:2.在已建立的Students数据库中,确定出各表中的数据类型,写出创建满足下述条件的四张表的SQL语句,并查看执行结果。
实验结果:3.写出实现如下操作的SQL语句,并查看执行结果:(1)在选课表中添加一个新的修课类别列:列名为:选课类别,类型为char(4)。
(2)将课程表中的学分列的类型改为:tinyint(微整型,取值范围在0~255)。
(3)删除学生表的专业列。
(4)为教师表添加主码约束,其主码列为:教师号。
实验结果:4.在Students数据库中,编写建立满足完整性要求的定义表的SQL语句,执行并观察执行结果。
(1)图书表,结构如下:书号:统一字符编码定长类型,长度为6,主码,书名:统一字符编码可变长类型,长度为30,非空,第一作者:普通编码定长字符类型,长度为10,非空,出版日期:小日期时间型,小于等于当前系统日期,(用getdate()实现)印刷数量:小整型,取值范围:1000~5000,默认为4000,价格:定点小数,小数部分一位,整数部分3位。
实验结果:(2)书店表,结构如下:书店编号:统一字符编码定长类型,长度为6,主码,店名:统一字符编码可变长类型,长度为30,非空,电话:普通编码定长字符类型,12位长,取值形式:010-8位数字地址:普通编码可变长字符类型,40位长。
数据库实验报告完整性约束
大连海事大学数据库原理课程实验大纲实验名称:实验七完整性实验学时: 2适用专业:智能科学与技术实验环境: Microsoft SQL server 20141实验目的(1)掌握实体完整性、参照完整性和用户自定义完整性约束的创建方法。
(2)掌握完整性约束的运行检查机制。
(3)掌握参照完整性的级联删除和修改方法。
(4)掌握正确设计关系模式完整性约束的方法。
2实验内容2.1 掌握实体完整性约束的创建和使用方法(1)创建表时定义由一个属性组成的主键(给约束命名)。
(2)创建表时定义由两个或两个以上属性组成的主键(给约束命名)。
(3)删除以上两个主键约束。
(4)利用ALTER TABLE语句定义上述两个主键。
2.2 掌握参照完整性约束的创建和使用方法(5)创建表时定义一个列级参照完整性约束(给约束命名)。
(6)创建表时定义一个表级的由两个属性组成的参照完整性约束(给约束命名)。
(7)设计数据更新语句检查参照完整性约束是否起作用。
(8)删除上述完整性约束。
(9)利用ALTER TABLE 建立上述参照完整性约束,并且规定UPDA TE/DELETE时的动作。
(10)设计数据更新语句检查参照完整性约束及其相应的动作是否起作用。
2.3 掌握用户自定完整性约束的创建和使用方法(11)定义一个检查约束,检查其值在某个取值范围内,并设计相应的更新语句检查该约束是否起作用?(12)定义一个检查其值符合某个匹配模式的检查约束(使用LIKE),并设计相应的更新语句检查该约束是否起作用?(13)定义一个检查其值符合某个正则表达式的检查约束(使用SIMILAR TO),并设计相应的更新语句检查该约束是否起作用?(14)定义一个UNIQUE约束,并设计相应的更新语句检查该约束是否起作用?(15)定义一个DEFAULT约束,设计一个INSERT语句检查该约束是否起作用。
3实验要求(1)深入复习教材第五章数据库完整性约束内容。
(2)根据书上的例子,针对TPCH数据库模式设计各种完整性约束,每种类型完整性约束至少要设计一个,描述清楚完整性约束要求,设计和运行触发完整性约束检查的数据更新语句,并截图相应的实验结果,每幅截图并要有较为详细的描述。
数据库完整性实验报告
数据库完整性实验报告引言数据库完整性是数据库管理系统中的一个重要概念,用于确保数据库中数据的准确性、有效性和一致性。
本实验旨在通过设计和实现一系列完整性约束,来验证数据库完整性的实际应用。
实验目标本实验的目标是设计并实现以下几种完整性约束:1.实体完整性约束2.参照完整性约束3.用户自定义完整性约束实验环境本实验使用了以下工具和环境:•数据库管理系统:MySQL•编程语言:Python•集成开发环境:Jupyter Notebook实验步骤步骤一:数据库设计首先,我们需要设计一个符合实验需求的数据库。
我们选择一个简单的学生管理系统作为示例,包含以下两个实体:1.学生(Student):包含学生的学号、姓名和年龄。
2.课程(Course):包含课程的课程号、课程名和学分。
步骤二:实体完整性约束实体完整性约束用于保证每个实体在数据库中都有唯一的标识。
在本实验中,我们将为学生实体添加一个主键约束,保证每个学生的学号是唯一的。
CREATE TABLE Student (id INT PRIMARY KEY,name VARCHAR(50),age INT);步骤三:参照完整性约束参照完整性约束用于保证关系数据库中的引用一致性。
在本实验中,我们将为课程实体添加一个外键约束,引用学生实体的主键。
CREATE TABLE Course (id INT PRIMARY KEY,name VARCHAR(50),credits INT,student_id INT,FOREIGN KEY (student_id) REFERENCES Student(id));步骤四:用户自定义完整性约束用户自定义完整性约束是根据具体业务需求自定义的约束条件。
在本实验中,我们将为课程实体添加一个自定义约束,保证学分必须大于等于0。
ALTER TABLE CourseADD CONSTRAINT chk_credits CHECK (credits >=0);实验结果通过以上步骤,我们已经成功设计并实现了实体完整性约束、参照完整性约束和用户自定义完整性约束。
创建数据库表与约束
4、货币数据类型
数据类型 money 说明 介于-263~263-1 之间,精确到小数点
后面4位数字,存储大小为8个字节。
smallmoney 介于-214748.3648~+214748.3647
之间,精确到小数点后面4位数字, 存储大小为4个字节。
5、二进制数据类型 二进制字符串由十六进制数表示。
要查看表之间的关系,可以在数据库 中选择“数据库关系图”选项,然后根据 提示信息新建数据库关系图。
还可以用下面的方法建立主-外键关系, 如lessons表和scores表之间: 在新建的关系图中添加lessons表,然 后将scores表的lno列拖动到lessons表的 lno列上松手,在出现的对话框中进行设置。
2.2 建立数据库表
一、创建数据库表 在SQL Server Management Studio 中,展开“studentdb”数据库节点,然后 在“表”上右击选择“新建表”,在出现 的表设计器中可以输入表中各列的信息, 如列名、数据类型、是否允许空,如下图 所示:
图2-1 在SQL Server Management Studio中创建students表
二、SQL Server 中常用的数据类型 1、数字数据类型
数据类型 bigint int Smallint tinyint bit 说明 从-263~263-1 的整型数据,存储大小为8个字 节 从-231~231-1 的整型数据,存储大小为4个字 节 从-215~215-1 的整型数据,存储大小为2个字 节 从0~255 的整型数据,存储大小为1个字节 只能包括0、1或NULL,可以用bit数据类型 代表TRUE或FALSE、YES或NO。
输完各列信息以后,单击保存按钮,输入 表名称:students。在对象资源管理器中展开 “表”节点即可看到students已经存在。
MySQL中的数据完整性与约束操作
MySQL中的数据完整性与约束操作MySQL是一个开源的关系型数据库管理系统,被广泛应用于各种应用程序中。
在数据库设计中,数据完整性和约束操作起着非常重要的作用,可以保证数据的一致性和有效性。
本文将深入研究MySQL中的数据完整性与约束操作,探讨其原理和使用方法。
一、数据完整性的概念与分类数据完整性指的是数据库中数据的准确性和有效性,保证数据的一致性和可靠性。
在MySQL中,数据完整性通过在数据表中定义各种约束来实现。
常见的数据完整性约束包括主键约束、外键约束、唯一约束、非空约束等。
1. 主键约束主键约束用于唯一标识数据表中的记录。
主键可以由一个或多个字段组成,用于保证每条记录的唯一性。
在MySQL中,可以通过在字段定义时添加PRIMARY KEY关键字来指定主键约束。
主键约束有助于提高查询效率和数据更新的性能,同时保证了数据的一致性和唯一性。
2. 外键约束外键约束用于建立数据表之间的关联关系。
它指定了一个或多个字段,用于与另一个数据表的主键字段进行关联。
外键约束可以确保数据表之间的参照完整性,防止出现不一致和不合法的数据关系。
在MySQL中,可以通过在字段定义时添加FOREIGN KEY关键字来指定外键约束。
3. 唯一约束唯一约束用于保证某个字段或字段组合的唯一性。
它类似于主键约束,但不要求字段是非空的。
唯一约束可以避免重复数据的插入和更新,保证数据的有效性和唯一性。
在MySQL中,可以通过在字段定义时添加UNIQUE关键字来指定唯一约束。
4. 非空约束非空约束用于保证某个字段不为空值。
它可以防止插入或更新数据时,出现空值,保证数据的有效性和完整性。
在MySQL中,可以通过在字段定义时添加NOT NULL关键字来指定非空约束。
二、MySQL数据完整性约束的实践在实际的数据库设计和开发中,数据完整性约束是非常重要的,能够有效避免数据的不一致和错误。
下面将介绍一些常见的约束操作和使用方法。
1. 创建数据表时的约束操作在创建数据表时,可以通过在字段定义时添加关键字来指定约束。
数据库及其应用实验2完成表的创建完整性设置,输入数据及操作数据
《数据库及其应用》(课程编号:B0901000)实验报告(2013-2014学年第2学期)实验成绩:学号: 42姓名:宋运国专业班级:贸易经济1301课堂号: 18任课教师:刘勘完成日期: 2014年3月27日一、实验目的及要求能熟练掌握Access2010的启动、退出,以及操作界面和操作方法。
能够理解关系模型的基本概念。
能够完成简单的数据库概念设计、逻辑设计和物理设计。
能够熟练建立数据库文件、表对象和关系。
能够熟练掌握基本SQL语言,能够在Access中进行一般的SQL 查询。
能够运用SQL对数据库进行更新。
能够熟练掌握不同软件之间的数据交换。
二、实验设备(环境)及要求PC机,Windows 7,Office 2010(主要是Access 2010)实验参考教材:《数据库及其应用(Access及Excel)学习与实验实训教程》(第二版)。
(以下简称《实验教程》)三、实验内容及记录实验项目2:完成表的创建、完整性设置,输入数据及操作数据1.创建数据库文件按照《实验教程》中实验3的内容,创建文件夹、数据库文件。
2.使用表设计视图,完成所有表的创建写出创建表的基本步骤,并附上截图(详细写出1个表的设计过程即可)答:1、启动Access,单击功能区“视图”按钮的下拉按钮,下拉出视图切换表;2、选择“设计视图”,弹出“另存为”对话框,如下图:输入“学院”,单击“确定”按钮,。
3、进入学院表的设计视图,如下图所示:在设计视图中,按照表的设计,依次输入字段名,选择类型,定义字段属性(将自动生成的ID字段删除,或将其改为“学院编号”,类型改为“文本”,字段长度设为2)。
定义主键。
选中“学院编号”字段,单击功能区“主键”按钮,设为主键。
这样,学院表就定义完毕。
单击快速工具栏重的“保存”按钮保存。
3. 有效性规则与有效性文本根据表的物理设计,在创建表时,定义有效性规则属性和有效性文本。
4.设置格式属性与输入掩码属性按照《实验教程》实验4,设置有关格式、输入掩码属性。
数据库完整性约束的使用与实践(二)
数据库完整性约束的使用与实践引言随着互联网的飞速发展,大量数据被存储在数据库中,数据库的使用变得越来越广泛。
而在数据库应用中,保证数据的完整性是至关重要的,以确保数据的准确性和一致性。
数据库完整性约束是一种重要的机制,可以有效地提高数据的完整性。
本文将讨论数据库完整性约束的使用和实践。
一、什么是数据库完整性约束定义数据库完整性约束是指在数据库中定义的一些规则或条件,将数据的一致性和准确性与数据库模式结合起来保证。
这些约束可以对数据的输入、修改和删除进行限制,从而确保数据的合法性和有效性。
数据库完整性约束的类型数据库完整性约束可以分为以下几类:- 实体完整性约束(Entity Integrity Constraint):确保表中每一行的主键列的唯一性,即每一行都有一个唯一标识。
- 域完整性约束(Domain Integrity Constraint):确保表中某一列的数据满足一定的规定,如数据类型、格式等。
- 参照完整性约束(Referential Integrity Constraint):确保表之间的关系保持一致,如外键约束。
- 用户定义完整性约束(User-defined Integrity Constraint):根据用户的需求,自定义额外的约束条件。
二、数据库完整性约束的实践实体完整性约束的实践在设计数据库时,通常会为每个表选择一个主键作为唯一标识。
通过在主键列上添加唯一性约束,可以确保每条数据都有唯一的标识。
此外,还可以使用自增长机制,使主键自动生成,更加简化数据的录入过程。
域完整性约束的实践域完整性约束用于限制某一列的值的范围或格式。
例如,可以为字符串类型的列添加长度限制,为数值类型的列添加范围限制等。
在数据库设计和开发过程中,对数据类型及列级约束进行合理的设置,能够有效地提高数据的准确性。
参照完整性约束的实践参照完整性约束用于确保表之间的关系保持一致。
通过在外键列上添加参照完整性约束,可以限制在删除或修改主表数据时,对应的外表数据必须存在或执行相应的操作。
建立表和定义完整性约束、数据操作 实验报告模板
经济管理学院财务管理专业协作者______________ 教师评定_____________实验题目建立表和定义完整性约束、数据操作一、实验目的与实验方法本实验课程的目的:本实验课程的实验方法:二、实验要求1.用CREATE DATABSE命令建立数据库2.用CREATE SCHEMA命令创建模式(自己命名模式名称)3.在定义的模式下,参照教材内容,使用SQL语言创建教材P43—P44面的样本数据库及定义完整性约束4.使用Insert命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户自定义完整性的插入操作,并分析原因。
三、实验结果和数据1.用CREATE DATABSE命令建立数据库2.用CREATE SCHEMA命令创建模式(自己命名模式名称)3.在定义的模式下,参照教材内容,使用SQL语言创建教材P43—P44面的样本数据库及定义完整性约束4.使用Insert命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户自定义完整性的插入操作,并分析原因。
违反实体完整性:违反参照完整性:在执行插入操作时,系统会自动计算院系系列值是7,而院系列参照院系表的编号值,此时在院系表中找不到编号为7的院系。
所以插入操作失败。
违反用户自定义完整性:结果是违反了unique约束,因为院系表名称不允许重复,而名称为“经济管理学院”的院系已经存在,所以不成功。
四、问题与讨论在创建的过程中没有注意括号是用英文括号还是中文括号,所以出现了错误。
应该使用英文括号的。
在同一个数据库中是不能同时创建两个相同的对象的。
心得体会:数据库是一门很难学的课程,而且,我在平时比较少关注这方面的东西,所以,我在做这个实验的时候就觉得十分的困难。
很多的时候我都需要别人的帮助。
我是一个比较粗心的人,因此,我在做这个实验的时候没有留意输入的时候要用英文符号,要加空格。
所以,我总是出现错误,让我觉得很烦恼。
实验二 表操作和数据完整性定义
答:序号列,代表当前是第几列。
(2)执行语句:Select * from借阅
记录id列中现有哪些值:
答:1,2
(3)写出delete语句,删除“借阅”表中的第一条记录;
deletefrom借阅
whereid=1;
(4)写出truncate table语句,删除“借阅”表中全部记录。
2. 用SSMS向“图书”和“读者”表中分别添加2条记录。
3.用insert语句向“借阅”表中添加2条记录。
INSERTINTO[dbo].[借阅]
([借书证号]期])
VALUES
(111111
,1
,'2012/11/1'
,'2012/12/1')
GO
4.执行下面的update语句,说明该语句的作用是:
不能:
原因:视图或函数'credit_of_student'不可更新,因为修改会影响多个基表。
update credit_of_student set credit=5 where studentno='08050203';
可以
实验总结(结论或问题分析):
这次比较难,因为没有提前预习导致在做的过程中进度比较慢,虽然按时完成了实验内容但也认识到提前预习的重要性,最后还是完成了任务,掌握用SSMS和create table语句创建表与定义完整性约束;巩固insert、update、delete语句的使用;掌握数据库导入、导出操作和数据库关系图的创建;熟练掌握索引与视图的创建和应用。
聚簇索引PK__student__07020F21
9.在teaching数据库中完成视图操作
第三章实验 实验2 建立表和定义完整性约束 心得
第三章实验2 建立表和定义完整性约束心得1. p.69 表3-10 中,职工表的职工号,约束说明为:前6位参照仓库表的仓库号,后2位为数字字符。
看到这个说明,很容易想到在定义职工号时要使用函数SUBSTRING(职工号,1,6)或LEFT(职工号,6)去参照仓库(仓库号),也可能想到要使用定义计算列。
经测试,上述两种均不能达到目的!从p.41 (2) 定义列的常用格式,从p.42 (3)定义计算列,从p.69图3-4可知:没有语句格式及逻辑关系支持上述想法。
2. 在按p.70的实验要求3. 修改表结构时,3.(1)问题,参见:sy2_3_1_p70为订购单表增加完成日期字段可解决;3.(3)问题,参见:sy2_3_3_p70修改供应商表供应商字段的数据类型可解决,但是3.(2)的问题有点复杂!表面看:1)在定义订购单明细时,已按p.70 做了>0,not null 的约束,只要在此基础上增加一个约束<=1000 即可。
若仔细查看修改表结构的语句格式p.44-p.45 可知,ADD 短语的功能有三:其一,添加新列,其二:添加新的计算列,其三:进行表一级的完整性约束定义。
故增加约束是不行的,ADD不可用!2)若使用修改列短语:ALTER COLUMN 也不可!因该短语功能只能其一:修改某列的数据类型为原格式的兼容模式;其二:重新定义一个列是否允许为空值。
也解决不了该问题。
3)该问题只能通过先删除数量列,再ADD 数量列来解决。
要删除列,则需先行删除绑定在该列的约束,所以此问题的解决须分三步进行:(1)sy2_3_2_p70 1 删除订购明细表数量字段的约束条件。
(2)sy2_3_2_p70 2 删除订购明细表数量字段。
注意:删除字段则该字段的数据也将被删除!(3)sy2_3_2_p70 3 新增订购明细表数量字段及约束条件。
注意:新增了字段,则需重新为新增字段补充数据。
(4)修改订购明细表数量字段的操作步骤,建议:①执行sy2_3_2_p70 1 删除订购明细表数量字段的约束条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.数据库设计
创建文件组,将分散储存的文件指定到同一文件组FILEGROUP下。
将表的索引和表构建在同一个架构SCHEMA下,可以减小数据库表的大小,以提升表查询效率。
示例代码
sql> CREATE DATABASE 销售管理
ON PRIMARY ( NAME = SalesData,
FILENAME = 'C:\DB\SalesData_1.mdf',
SIZE = 50MB, MAXSIZE = UNLIMITED,
FILEGROWTH = 20% ),
( NAME = SalesD,
FILENAME = 'D:\DB\SalesData_2.ndf',
SIZE = 50MB, MAXSIZE = UNLIMITED,
FILEGROWTH = 10 MB )
LOG ON
( NAME = SalesLog,
FILENAME = 'D:\DB\SalesLog.ldf',
SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 10MB )
alter database 销售管理
add filegroup f1
alter database 销售管理
add file
(NAME = SalesData,FILENAME = 'C:\DB\SalesData_1.mdf'),
(NAME = SalesD,FILENAME = 'D:\DB\SalesData_2.ndf')
to filegroup f1
CREATE SCHEMA Sales;
GO;
CREATE TABLE Sales.Region
(Region_id int NOT NULL,
Region_Name char(5) NOT NULL)
WITH (DISTRIBUTION = REPLICATE);
GO
3.为电话字段创建用户定义数据类型
sql>create type telephone from varchar(11) not null
sql> CREATE TABLE 销售管理.dbo.Department sql> CREATE TABLE 销售管理.dbo.Employees
sql> CREATE TABLE 销售管理.dbo.Goods sql> CREATE TABLE 销售管理.dbo.Purchase
sql> CREATE TABLE 销售管理.dbo.Sell
建表后的数据库结构
四、出现的的问题及解决方案(列出遇到的问题和解决办法,列出没有解决的问题)。