数据库系统原理实验一参考题答案

合集下载

数据库原理实验讲义 与答案 SQL Server

数据库原理实验讲义 与答案 SQL Server

《数据库系统原理》实验报告SQL Server版实验一SQL练习1一、实验目的1.掌握基本表的定义;2.掌握插入数据、修改数据和删除数据语句的常用形式。

二、实验学时2学时三、实验内容1.利用Enterprise Manager,新建一个数据库,命名为zyxt,并有以下要求:⑴该数据库记录某采油厂对油/水井实施作业时所消耗的成本。

(作业:为保证油水井正常生产所实施的工程项目)⑵成本的消耗分为预算、结算、入账三个状态。

预算:采油队向管理部门提出作业申请,并经管理部门批准后,由管理部门负责录入。

结算:某次作业施工结束后,由管理部门与施工单位共同核算各种成本,由管理部门负责录入。

入账:结算后,财务部门将成本计入采油厂账目,由财务部门录入。

⑶预算状态时需要录入的数据:(★:字符型◆货币型▲日期型)★单据号:某一作业项目的编号★预算单位:指需要对油水井实施作业的采油队代码★井号:需要实施作业的油水井◆预算金额★预算人▲预算日期⑷结算状态时需要录入的数据:(★:字符型◆货币型▲日期型▼数值型)调出某条预算记录,录入以下数据:▲开工日期▲完工日期★施工单位★施工内容◆材料费(要求另外用表单独记录材料消耗的明细)(★单据号★物码▼消耗数量◆单价)◆人工费◆设备费◆其它费用◆结算金额(材料费+人工费+设备费+其它费用)★结算人▲结算日期⑸入账状态时需要录入的数据:(★:字符型◆货币型▲日期型)调出某条结算记录,录入以下数据:◆入账金额★入账人▲入账日期⑹为了避免出现数据的不一致和方便数据录入,要求定义以下基础表:(★:字符型)单位代码表:★单位代码★单位名称油水井表:★井号★井别:油井/水井★单位代码(表示某口井由哪个单位负责管理)施工单位表:★施工单位名称物码表:★物码★名称规格★计量单位2.根据以上要求,在Query Analyzer中用建表语句定义所需的数据表。

CREATE TABLE单位代码表(单位代码VARCHAR(20),单位名称VARCHAR(20));CREATE TABLE油水井表(井号VARCHAR(20),井别VARCHAR(20),单位代码VARCHAR(20),);CREATE TABLE施工单位表(施工单位名称VARCHAR(30));CREATE TABLE物码表(物码VARCHAR(20),名称规格VARCHAR(20),计量单位VARCHAR(20));CREATE TABLE材料费(单据号VARCHAR(20),物码VARCHAR(20),消耗数量SMALLINT,单价NUMERIC(10,2),);CREATE TABLE成本材料消耗表(单据号VARCHAR(20),预算单位VARCHAR(20),井号VARCHAR(20),预算金额NUMERIC(10,2),预算人VARCHAR(20),预算日期DATE,开工日期DATE,完工日期DATE,施工单位VARCHAR(20),施工内容VARCHAR(20),材料费NUMERIC(10,2),人工费NUMERIC(10,2),设备费NUMERIC(10,2),其它费用NUMERIC(10,2),结算金额NUMERIC(10,2),结算人VARCHAR(20),结算日期DATE,入账金额NUMERIC(10,2),入账人VARCHAR(20),入账日期DATE,);3.在Query Analyzer中用数据插入语句录入以下数据:单位代码表:1122 采油厂112201 采油一矿112202 采油二矿112201001 采油一矿一队112201002 采油一矿二队112201003 采油一矿三队112202001 采油二矿一队112202002 采油二矿二队INSERTINTO单位代码表(单位代码,单位名称)VALUES('1122','采油厂');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201','采油一矿');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202','采油二矿');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201001','采油一矿一队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201002','采油一矿二队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201003','采油一矿三队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202001','采油二矿一队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202002','采油二矿二队');油水井表:(y001 油井112201001)(y002 油井112201001)(y003 油井112201002)(s001 水井112201002)(y004 油井112201003)(s002 水井112202001)(s003 水井112202001)(y005 油井112202002)INSERTINTO油水井表(井号,井别,单位代码)VALUES('y001','油井','112201001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y002','油井','112201001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y003','油井','112201002');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s001','水井','112201002');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y004','油井','112201003');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s002','水井','112202001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s003','水井','112202001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y005','油井','112202002');施工单位表:作业公司作业一队作业公司作业二队作业公司作业三队INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业一队');INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业二队');INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业三队');物码表:(单价均为10)wm001 材料一吨wm002 材料二米wm003 材料三桶wm004 材料四袋INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm001','材料一','吨');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm002','材料二','米');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm003','材料三','桶');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm004','材料四','袋');4.利用Query Analyzer录入以下数据:某作业项目编号zy2018001预算单位:112201001 井号:y001 预算金额:10000.00预算人:张三预算日期:2018-5-1 开工日期:2018-5-4完工日期:2018-5-25 施工单位:作业公司作业一队施工内容:堵漏材料费:7000.00(其中材料一:2000.00材料二:2000.00 材料三:2000.00 材料四:1000.00)人工费:2500.00 设备费:1000.00其它费用:1400.00结算金额:11900.00 结算人:李四结算日期:2018-5-26入账金额:11900.00 入账人:王五入账日期:2018-5-28INSERT INTO成本材料消耗表(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其它费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('zy2018001','112201001','y001',10000.00,'张三','2018-5-1','2018-5-4','2018-5-25','作业公司作业一队','堵漏',7000.00,2500.00,1000.00,1400.00,11900.00,'李四','2018-5-26',11900.00,'王五','2018-5-28');5.利用Enterprise Manager录入以下数据:⑴某作业项目编号zy2018002预算单位:112201002 井号:y003 预算金额:11000.00预算人:张三预算日期:2018-5-1 开工日期:2018-5-4完工日期:2018-5-23 施工单位:作业公司作业二队施工内容:检泵材料费:6000.00(其中材料一:2000.00材料二:2000.00 材料三:2000.00)人工费:1500.00 设备费:1000.00其它费用:2400.00结算金额:10900.00 结算人:李四结算日期:2018-5-26入账金额:10900.00 入账人:王五入账日期:2018-5-28⑵某作业项目编号zy2018003预算单位:112201002 井号:s001 预算金额:10500.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-6 完工日期:2018-5-23 施工单位:作业公司作业二队施工内容:调剖材料费:6500.00(其中材料一:2000.00 材料二:2000.00 材料三:2500.00)人工费:2000.00 设备费:500.00其它费用:1400.00 结算金额:10400.00 结算人:李四结算日期:2018-5-26 入账金额:10400.00 入账人:王五入账日期:2018-5-28 ⑶某作业项目编号zy2018004预算单位:112202001 井号:s002 预算金额:12000.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-4 完工日期:2018-5-24 施工单位:作业公司作业三队施工内容:解堵材料费:6000.00(其中材料一:2000.00 材料二:2000.00 材料四:2000.00)人工费:2000.00 设备费:1000.00其它费用:1600.00 结算金额:10600.00 结算人:李四结算日期:2018-5-26 入账金额:10600.00 入账人:赵六入账日期:2018-5-28 ⑷某作业项目编号zy2018005预算单位:112202002 井号:y005 预算金额:12000.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-4 完工日期:2018-5-28 施工单位:作业公司作业三队施工内容:防砂材料费:7000.00(其中材料一:2000.00材料二:2000.00 材料四:3000.00)人工费:1000.00 设备费:2000.00其它费用:1300.00结算金额:11300.00结算人:李四结算日期:2018-6-16.利用Query Analyzer完成以下操作:⑴将编号为zy2018005的项目的人工费和结算金额增加200元。

数据库系统原理参考答案

数据库系统原理参考答案

数据库系统原理参考答案第一章习题参考答案1.名词解释:数据、数据库、数据库管理系统、数据库系统、关系数据库管理系统。

数据:用来记录或者标识事物本质特征的符号。

具体包括文本、图形、图像、音频、视频、动画等数据。

数据库:长期储存在计算机内的有组织的、统一的、共享的、结构化的、通用化的、综合性的数据的集合。

数据库管理系统:位于用户与操作系统之间,提供给用户实现数据库的定义、操纵和运行管理的数据管理软件,从而科学地组织和存储数据、高效地获取和维护数据。

数据库系统:在计算机系统中引入数据库后,由数据库、数据库管理系统、数据库应用系统、数据库设计员、数据库管理员和用户等构成的完整的计算机系统。

DBS的核心是数据库管理系统,DBMS是用户与数据库的接口关系数据库系统:支持关系数据库技术的数据库系统。

2.简述数据库管理系统的功能。

数据定义DDL;数据操纵DML;数据控制DCL(安全性、完整性、并发控制和数据恢复);数据接口;数据组织和存储;事务和运行管理等。

从而确保数据的安全、完整、并发和恢复。

3.简述数据库系统的组成和特点。

组成:DBS硬件(计算机硬件、数据库硬件和网络硬件等)、DBS软件(操作系统、DBMS、程序设计主语言、数据库专用开发工具和数据库应用系统等)和人员(数据库设计员、数据库分析员、数据库管理员、数据库程序员和用户)等组成。

特点:数据结构化组织、永久储存和统一管理;数据共享;冗余度小;独立性高;容易扩展等。

4.常用的数据模型有哪些?简述数据模型的三个要素。

类型:层次模型(最早);网状模型;关系模型(目前流行);面向对象模型(20世纪80年代引入OOP)。

要素:数据结构;数据操作;完整性约束。

5.简述DBA的职责。

决定数据库的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性和完整性;监控数据库的使用和运行;数据库的改进和重组重构。

6.简述数据库技术发展的三个基本阶段。

人工管理;文件系统;数据库系统7.试述文件系统与数据库系统的区别。

数据库系统原理相关习题及答案

数据库系统原理相关习题及答案

相关习题及答案.doc第1、2章1.1 名词解释:◆ DB:数据库(Database),DB是统一管理的相关数据的集合。

DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。

◆ DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

◆ DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。

◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。

◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。

◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。

它可分为两种类型:概念数据模型和结构数据模型。

◆ 概念数据模型:它是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。

◆ 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。

这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。

结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。

它主要有:层次、网状、关系三种模型。

数据库系统原理习题解答

数据库系统原理习题解答

1.12 外部模型使数据库系统有哪些优点? 答:简化了用户的观点; 有助于数据库的安全保护; 外部模型是对概念模型的支持,如果用户使用外部模型得心应手,那 么说明当初根据用户需求综合成的概念模型是正确的、完善的。 答:在用户到数据库间,DB 的数据结构有三个层次:外部模型、逻 辑模型、内部模型。这三个层次用 DB 的 DDL 定义后的内容分别是外模式、 逻辑模式、内模式。 (叙述三个模式的概念) 内模式并不涉及物理设备的约束,那一部分由操作系统完成。如从磁 盘读写数据的操作。 1.15 试述 DBMS 的工作模式和主要功能。 答:DBMS 工作模式: 1)接受应用程序的数据请求和处理请求; 2)将用户的数据请求(高级指令)转换成复杂的机器代码(低级指 令);3)实现对数据库的操作; 4)从对数据库的操作中接受查询结果;5)对查询结果进行处理(格式 转换);6)将处理结果返回给用户。 DBMS 主要功能: 1)数据库的定义功能;2)数据库的操纵功能;3)数据库的保护功能; 4)数据库的维护功能;5)数据字典。
物理数据独立性——对内模式修改时,对逻辑模式/内模式像作相应 修改,可以尽量不影响逻辑模式。
逻辑数据独立性——逻辑模式修改时,对外模式/逻辑模式映像作相 应修改,可以使外模式和应用程序保持不变。
主语言——在数据库技术中,用于编写应用程序的高级程序设计语言。 DDL——数据定义语言。DBMS 提供 DDL 定义数据库的三级结构、两级 映像,定义数据的完整性约束、保密限制等约束。 DML——数据操纵语言。DBMS 提供 DML 实现对数据的操作。基本的数 据操作有两类:检索(查询)、更新(插入、删除、修改)。分为过程性 DML 和非过程 DML 两种。 过程性 DML——是指用户编程时,不仅需要指出“做什么”(需要什 么样的数据),还需要指出“怎么做”(怎样获得这些数据)。如层次、 网状的 DML。 非过程性 DML——用户编程时,只需要指出“做什么”,不需要提出 “怎么做”。如关系型 DML。

数据库系统原理实验报告册(带答案)

数据库系统原理实验报告册(带答案)

河南工程学院计算机科学与工程系数据库系统原理实验报告册学期:课程:专业:班级:学号:姓名:指导教师:目录实验一 SQL Server 2000安装、数据库创建及管理 (1)一、实验学时 (1)二、实验目的 (1)三、实验内容 (1)四、实验要求 (13)五、代码清单 (13)六、实验中出现的问题及解决的方法 (15)七、思考讨论题或体会或对改进实验的建议 (16)实验二表和表数据的操作 (17)一、实验学时 (17)二、实验目的 (17)三、实验内容 (17)四、实验要求 (22)五、代码清单 (22)六、实验中出现的问题及解决的方法 (24)七、思考讨论题或体会或对改进实验的建议 (25)实验三索引和视图 (26)一、实验学时 (26)二、实验目的 (26)三、实验内容 (26)四、实验要求 (31)五、代码清单 (31)六、实验中出现的问题及解决的方法 (33)七、思考讨论题或体会或对改进实验的建议 (34)实验四 T-SQL程序设计 (35)一、实验学时 (35)二、实验目的 (35)三、实验内容 (35)四、实验要求 (39)五、代码清单 (39)六、实验中出现的问题及解决的方法 (41)七、思考讨论题或体会或对改进实验的建议 (42)实验五数据库安全性 (43)一、实验学时 (43)二、实验目的 (43)三、实验内容 (43)四、实验要求 (46)五、代码清单 (47)六、实验中出现的问题及解决的方法 (49)七、思考讨论题或体会或对改进实验的建议 (49)实验六数据库完整性 (51)一、实验学时 (51)二、实验目的 (51)三、实验内容 (51)四、实验要求 (54)五、代码清单 (54)六、实验中出现的问题及解决的方法 (56)七、思考讨论题或体会或对改进实验的建议 (57)实验一 SQL Server 2000安装、数据库创建及管理一、实验学时:2学时二、实验目的(1)了解安装SQL Server2000的硬件和软件环境。

数据库系统原理实验一参考答案

数据库系统原理实验一参考答案
VALUES ('C05'
,'C++',-,3)
INSERT
INTO Courses
VALUES ('C06'
,'网络原理’,'C07', 3)
INSERT
FILENAME='E:\ SQL_DATEBASE \',
SIZE=5MB
MAXSIZE25MB
FILEGROWT=5MB
)
GO
(2)调用(USE数据库:Students_Mis_2018
use Stude nts_Mis_2018
GO
(3)分别建立4个数据表的表结构(CREATE TABLE):系(Depts),学生(Students ),课程(Courses ),选课(Reports )
CREATETABLE Depts
(
Dno CHAR5) PRIMARYKEY
DnameCHAR20) NOTNULL
)
GO
CREATETABLE Students
(
Sno CHAR5) PRIMARYKEY
Sname CHAR20) NOTNULL,
Ssex CHAR2),
Sage INT,
Dno CHAIR5),
INSERT
INTO depts
VALUES ('D05','电子')
INSERT
INTO depts
VALUES ('D06','化学')
SELECT*
FROMDepts
INSERT
INTO Students

数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。

P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。

数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。

数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。

数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。

2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。

数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。

P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。

两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。

4.请简述关系模型与网状模型、层次模型的区别。

P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。

P48答:关系数据库的基本特征是使用关系数据模型组织数据。

2.请简述什么是参照完整性约束。

P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。

3.请简述关系规范化过程。

数据库原理实验答案

数据库原理实验答案

课程结束各班学委统一收实验报告数据库原理及应用(本科)实验指导书1(报告)计算机信息教研室桂林理工大学信息科学与工程学院二○二○年八月目录实验 1 创建数据库与数据表 (2)实验2 简单查询和连接查询 (10)实验3 嵌套查询和集合查询 (12)实验4 数据完整性 (14)桂林理工大学实验报告班级学号姓名同组实验者无实验名称实验1 创建数据库与数据表日期年月日一、实验目的:1.熟悉SQL SERVER环境;2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令;3.掌握数据表的创建和数据记录的插入方法。

二、实验环境:Sqlserve数据库管理系统三、实验内容:1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示:学生STUDENT:(注:CS计算机科学,IS信息系统,MA数学)Sno Sname Ssex Sage Sdept95001李勇M20CS95002刘晨F19IS95003王敏F18MA95004张立M18IS课程COURSE:(注:Pcno 先修课课程号)Cno Cname Pcno Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27C语言64选修SC:Sno Cno Grade9500119295001285 95001388 9500229095002 950033380实验步骤:1.创建教学管理“JXGL”数据库。

(注:可采用可视窗体和SQL命令两种方法创建。

以下是SQL命令方法)(1) 创建教学管理“JXGL”数据库。

在命令窗格中输入如下命令,然后单击“运行”功能钮执行该命令。

CREATE DATABASE JXGL;(2) 在JXGL数据库中建立STUDENT表,并插入记录。

CREATE TABLE STUDENT( Sno char(5) not null unique,Sname char(20) not null unique,Ssex char(1),Sage int,Sdept char(20));INSERT INTO STUDENT V ALUES('95001','李勇','M',20,'CS');INSERT INTO STUDENT V ALUES('95002','刘晨','F',19,'IS');INSERT INTO STUDENT V ALUES('95003','王敏','F',18,'MA');INSERT INTO STUDENT V ALUES('95004','张立','M',18,'IS');1(3) JXGL数据库中建立COURSE表,并插入记录。

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

姓名:专业:班级:学号:科目:数据库系统原理实验日期:实验题目:实验1 SQL SERVER 的安装及使用,数据库的建立MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME='Students_Log',FILENAME='E:\ SQL_DATEBASE \Students_Mis_log.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO(2)调用(USE)数据库:Students_Mis_2018use Students_Mis_2018GO(3)分别建立4个数据表的表结构(CREATE TABLE):系(Depts),学生(Students),课程(Courses),选课(Reports)CREATE TABLE Depts(Dno CHAR(5)PRIMARY KEY,Dname CHAR(20)NOT NULL)GOCREATE TABLE Students(Sno CHAR(5)PRIMARY KEY,Sname CHAR(20)NOT NULL,Ssex CHAR(2),Sage INT,Dno CHAR(5),CONSTRAINT FK_Dno FOREIGN KEY(Dno)REFERENCES Depts )GOCREATE TABLE Courses(Cno CHAR(6)PRIMARY KEY,Cname CHAR(20),Pre_Cno CHAR(6),Credits INT)GOCREATE TABLE Reports(Sno CHAR(5),Cno CHAR(6),Grade INT CHECK(Grade>=0 AND Grade<=100),PRIMARY KEY(Sno,Cno),CONSTRAINT Student_Report FOREIGN KEY(Sno)REFERENCES Students, CONSTRAINT Report_Course FOREIGN KEY(Cno)REFERENCES Courses)GO(4)分别对4个表插入表数据(INSERT)INSERTINTO deptsVALUES ('D01','自动化')INSERTINTO deptsVALUES ('D02','计算机')INSERTINTO deptsVALUES ('D03','数学')INSERTINTO deptsVALUES ('D04','通信')INSERTINTO deptsVALUES ('D05','电子')INSERTINTO deptsVALUES ('D06','化学')SELECT*FROM DeptsINSERTINTO StudentsVALUES ('S01','王建平','男',21,'D01') INSERTINTO StudentsVALUES ('S02','刘华','女',19,'D01') INSERTINTO StudentsVALUES ('S03','范林军','女',18,'D02') INSERTINTO StudentsVALUES ('S04','李伟','男',19,'D03') INSERTINTO StudentsVALUES ('S05','黄河','男',18,'D03') INSERTINTO StudentsVALUES ('S06','长江','男',20,'D03') SELECT*FROM StudentsINSERTINTO CoursesVALUES ('C01','英语','',4) INSERTINTO CoursesVALUES ('C02','数据结构','C05',2) INSERTINTO CoursesVALUES ('C03','数据库','C02',2) INSERTINTO CoursesVALUES ('C04','DB-设计','C03',3) INSERTINTO CoursesVALUES ('C05','C++','',3) INSERTINTO CoursesVALUES ('C06','网络原理','C07',3) INSERTINTO CoursesVALUES ('C07','操作系统','C05',3) SELECT*FROM CoursesINSERTINTO ReportsVALUES ('S01','C01','92') INSERTINTO ReportsVALUES ('S01','C03','84')INSERTINTO ReportsVALUES ('S02','C01','90')INSERTINTO ReportsVALUES ('S02','C02','94')INSERTINTO ReportsVALUES ('S02','C03','82')INSERTINTO ReportsVALUES ('S03','C01','72')INSERTINTO ReportsVALUES ('S03','C02','89')INSERTINTO ReportsVALUES ('S04','C03','75')SELECT*FROM Reports(5)数据类型及完整性约束验证:(A)若先建立学生(Students)表,后建立系(Depts)表,行吗?为什么?答:不行,对Students的Dno作外键约束,必须引用到Depts表的主键Dno。

必须先建立系(Depts)表,后才能建立学生(Students)表。

(B)若先建立选课(Reports)表,后建立课程(Courses)表,行吗?为什么?答:不行,Reports的Cno作外键约束外键,必须引用到Courses表的主键Cno,应该先建课程表,然后再才能对表Report的Cno作外键约束。

(C)对INSERT,自己举几个违反约束条件(数据类型、主键约束、非空约束、外键约束、CHECK 约束)的例子,并说明理由。

FILENAME='E:\SQL_DATABASE\SPJ_Mis_data.mdf', SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME='student_Log',FILENAME='E:\ SQL_DATABASE \SPJ_Mis_log.ldf', SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO(2)调用数据库use SPJ_Mis_2018GO(3)分别建立4个数据表的表结构CREATE TABLE S(Sno CHAR(5)PRIMARY KEY,Sname CHAR(20)NOT NULL,Status INT,SCity CHAR(20))GOCREATE TABLE P(Pno CHAR(6)PRIMARY KEY,Pname CHAR(20),Color CHAR(9),Weight FLOAT)GOCREATE TABLE J(Jno CHAR(5)PRIMARY KEY,Jname CHAR(20),JCity CHAR(20))GOCREATE TABLE SPJ(Sno CHAR(5),Pno CHAR(6),Jno CHAR(5),QTY INT CHECK(QTY>=0),PRIMARY KEY(Sno,Pno,Jno),CONSTRAINT S_SPJ FOREIGN KEY(Sno)REFERENCES S, CONSTRAINT P_SPJ FOREIGN KEY(Pno)REFERENCES P, CONSTRAINT J_SPJ FOREIGN KEY(Jno)REFERENCES J )GO(4)插入数据INSERTINTO SVALUES('S1','利群',30,'广州'), ('S2','同方',20,'杭州'),('S3','天远',60,'北京'),('S4','精诚',10,'上海'),('S5','华缘',80,'重庆'),('S6','弘治',50,'太原') SELECT*FROM SINSERTINTO PVALUES('P1','钉子','绿',34),('P2','螺丝','蓝',25),('P3','螺母','橙',12),('P4','螺栓','紫',27),('P5','螺钉','红',53),('P6','齿轮','绿',17),('P7','传送带','红',28) SELECT*FROM PINSERTINTO JVALUES('J1','一建','济南'),('J2','三汽','广州'),('J3','拉链厂','杭州'),('J4','无线电厂','北京'),('J5','机床厂','上海'),('J6','螺钉厂','重庆'),('J7','机械厂','天津') SELECT*FROM JINSERTINTO SPJVALUES('S1','P1','j3',340),('S1','P1','j2',250),('S1','P2','j5',120),('S1','P2','j6',270),('S1','P2','j7',530) INSERTINTO SPJVALUES('S2','P2','j1',170),('S2','P3','j2',280),('S2','P4','j3',100),('S2','P4','j4',120),('S2','P5','j7',310),('S2','P5','j5',560),('S2','P6','j6',200) INSERTINTO SPJVALUES('S3','P7','j1',300),('S3','P1','j1',400),('S4','P3','j2',410),('S4','P4','j3',330),('S4','P4','j4',650),('S4','P5','j4',150)INSERTINTO SPJVALUES('S5','P7','j5',230),('S5','P7','j7',280),('S6','P2','j2',350),('S6','P2','j3',420),('S6','P6','j1',310)SELECT*FROM SPJ【实验结果及分析】【教师评语和成绩】成绩:指导教师:日期:。

相关文档
最新文档