实验二、创建数据库及表、完整性约束
实验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位长。
- 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
建表后的数据库结构
四、出现的的问题及解决方案(列出遇到的问题和解决办法,列出没有解决的问题)。