数据库系统概论(第四版)-第三章全部实验
- 格式:pdf
- 大小:105.71 KB
- 文档页数:4
说明:高等教育出版社的《数据库系统概论》第4版,简称《概论》;机械工业出版社的《数据库系统概念》第5版,简称《概念》。
1.试论述数据库系统主要动机、构成及DBMS主要功能特性。
说明数据库系统与文件系统的主要区别。
答:数据库设计的动机:数据库设计的目的是为了管理大量信息。
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
DBMS主要功能:•数据库定义功能:DBMS提供数据定义语言(DDL)定义数据库的三级结构,包括外模式、概念模式、内模式及基相互之间的映象,定义数据的完整性、安全控制等约束。
因此,在DBMS中应包括DDL的编译程序。
•数据库的操纵功能:DBMS提供数据操纵语言(DML)实现对数据库中数据的操作。
基本的数据操作分成两类四种:检索(查询)、更新(插入、删除、修改)•数据库的保护功能:数据库中的数据是信息社会的战略资源,对数据的保护是至关重要的大事。
•数据库的存储管理:把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。
•数据库的维护功能:它有许多实用程序提供给数据库管理员:数据装载程序、备份程序、文件重组织程序、性能监控程序•数据字典:数据库系统中存放三级结构定义的数据库称为数据字典(DD)。
对数据库的操作都要通过访问DD才能实现,通常DD中还存放数据库运行时的统计信息。
文件系统和数据库系统主要区别:•在文件系统中,相互独立的文件的记录内部是有结构的,但记录之间没有联系。
数据库系统实现整体数据的结构化,是数据库的主要特征之一。
•在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。
而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。
•文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。
实验二:SQL查询示例练习1 实验目的1)掌握SQL Server数据库附加操作。
2)掌握SQL Server Management Studio中编写和执行SQL代码的方法。
3)完成教材3.4节的SQL查询例子。
4)练习SQL查询的分析能力,撰写关系代数表达式2 实验内容2.1 按照实验指导3.1,将“实验02压缩包”中的SQL Server数据库文件附加到SQL Server 2008数据库服务器中。
2.2 按照实验指导3.2,完成教材3.4节的所有SQL查询例子(【例1】-【例52】)。
2.3 填写实验报告。
2.4 写出教材3.4节的所有SQL查询例子(【例1】-【例52】)的关系代数表达式。
3 实验指导3.1 SQL Server 2008附加数据库操作。
步骤1:登录和连接了SQL Server 2008数据库引擎之后,在Microsoft SQL Server Management Studio的对象资源管理器中打开数据库(如下图)。
资源管理器树中的根节点是SQL Server数据库服务器,如果数据库服务器没有启动,右键单击该节点启动之。
步骤2:右键单击【数据库】节点,选择【附件】菜单命令,单击【添加】按钮,然后把实验2压缩包中的SQL Server数据库文件DBSC.mdf和DBSC.ldf附加到数据库服务器上(见下图)。
注意:两个数据库文件最好存放在你易于管理的一个文件夹中。
附加了数据库之后,【数据库】节点下会看到DBSC数据库(见下图)。
DBSC数据库实现了上课用的教材中的例子,有3个表,其关系模式和数据和教材上的完全相同。
目的是为了让大家把教材上的SQL语句都过一遍,理解SQL查询语句的写法。
3.2 编写和执行SQL查询语句。
单击管理工具窗口左上侧【新建查询】按钮打开查询编辑器(如下图)。
注意:图中三个图突出的红色框是为了提醒大家执行SQL语句要注意的,左边红色框指定当前的数据库是DBSC,右边的红色框是执行SQL语句的按钮。
第1章绪论1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l)数据(Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500这个数字可以表示一件物品的价格是500元,也可以表示一个学术会议参加的人数有500人,还可以表示一袋奶粉重500克。
( 2)数据库(DataBase,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3)数据库系统(DataBas。
Sytem,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
(4)数据库管理系统(DataBase Management sytem,简称DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制DBMS的厂商及其研制的DBMS产品很多。
著名的有美国IBM 公司的DBZ关系数据库管理系统和IMS层次数据库管理系统、美国Oracle公司的orade关系数据库管理系统、s油ase公司的s油ase关系数据库管理系统、美国微软公司的SQL Serve,关系数据库管理系统等。
第四版数据库系统概论课后答案(全)第3章关系数据库标准语言SQL1 .试述sQL 语言的特点。
答:(l)综合统一。
sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体。
(2)高度非过程化。
用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
sQL 语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
2 .试述sQL 的定义功能。
sQL 的数据定义功能包括定义表、定义视图和定义索引。
SQL 语言使用cREATE TABLE 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX 语句建立索引,DROP INDEX 语句删除索引;使用CREATE VIEW 语句建立视图,DROP VIEW 语句删除视图。
3 .用sQL 语句建立第二章习题5 中的4 个表。
答:对于S 表:S ( SNO , SNAME , STATUS , CITY ) ; 建S 表:CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));对于P 表:P ( PNO , PNAME , COLOR , WEIGHT );建P 表:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);对于J 表:J ( JNO , JNAME , CITY);建J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))对于sPJ 表:sPJ ( sNo , PNo , JNo , QTY);建SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),PnoC(2),JNO C(2),QTY INT))4.针对上题中建立的 4 个表试用sQL 语言完成第二章习题 5 中的查询。
目录实验一熟悉POWER DESIGNER (2)实验二SQL SERVER 2000的安装与使用5实验三创建数据库、表15实验四SQL SERVER2000查询分析器26实验五SQL语言的DDL34实验六SQL语言的DML初步36实验七DML的数据查询38实验八SQL语言综合练习42实验九嵌入式SQL错误!未定义书签。
实验十数据库设计错误!未定义书签。
实验一熟悉Power Designer一、实验目的1、掌握安装并破解PD的方法。
2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉PowerDesigner CDM及其相关知识。
3.掌握运用Power Designer工具建立CDM的方法。
4.初步掌握从Power Designer CDM生成相应的PDM的方法。
二、实验内容及实验步骤1、PD环境的介绍Power Designer的4种模型文件:(1) 概念数据模型(CDM)CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。
一个概念模型经常包括在物理数据库中仍然不实现的数据对象。
它给运行计划或业务活动的数据一个正式表现方式。
(2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。
藉由PDM ,你考虑真实的物理实现的细节。
你能修正PDM 适合你的表现或物理约束。
(3)面向对象模型(OOM)一个OOM包含一系列包,类,接口, 和他们的关系。
这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。
一个OOM本质上是软件系统的一个静态的概念模型。
(4)业务程序模型(BPM)BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。
BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用2、创建CDM(以学生选课系统为例)(1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)(3)为各实体和联系创建属性学生(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)每一条属性的M\P\D 分别代表:Mandatory(是否允许为空)Primary Identifier(标识符,类似于数据库中的主键)Displayed(是否显示在实体图表符号中)Domain 相当于自定义数据类型(4)创建实体间的联系“学生”和“教师”之间为多对多(m:n)关系,可将他们转化为两个一对多(1:m)关系(5)生成CDM3、将CDM转化为PDM实验二安装SQL Server 2000一、实验目的SQL Server 2000是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。
《数据库系统概论》第四版第四章:1.什么是数据库的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
2.数据库安全性和计算机系统的安全性有什么关系?答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
3.试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。
答:各个国家在计算机安全技术方面都建立了一套可信标准。
目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《 DoD 可信计算机系统评估标准》(伽sted Co 哪uter system Evaluation criteria ,简称TcsEc ,又称桔皮书)。
(TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Tmsted Database Interpretation 简称TDI , 又称紫皮书)。
在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。
每个方面又细分为若干项。
4.试述TcsEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。
答:这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
各个等级的基本内容为:D 级D 级是最低级别。
一切不符合更高标准的系统,统统归于D 组。
Cl 级只提供了非常初级的自主安全保护。
能够实现对用户和数据的分离,进行自主存取控制(DAC ) ,保护或限制用户权限的传播。
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据(Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。
( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统(DataBas 。
Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
D BMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制DBMS 的厂商及其研制的DBMS 产品很多。
第一章绪论数据库(DB):长期储存在计算机内、有组织的、可共享的大量数据集合数据库管理系统(DBMS):位于用户与操作系统之间的数据管理软件(系统软件)。
数据库系统(DBS):在计算机系统中引入数据库后的系统。
数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)物理独立性:用户的应用程序与磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
数据模型的组成要素:数据结构:对系统静态特性的描述数据操作:对系统动态特性的描述数据的约束条件模式(Schema):数据库中全体数据的逻辑结构和特征的描述外模式(子模式、用户模式):数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述内模式(也称存储模式):数据物理结构和存储方式的描述外模式/模式映象:保证数据的逻辑独立性模式/内模式映象:保证数据的物理独立性数据库系统的组成:数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员、(用户)数据库管理员(DBA)(1)决定数据库中的信息内容和结构(2)决定数据库的存储结构和存取策略(3)定义数据的安全性要求和完整性约束条件(4)监控数据库的使用和运行周期性转储数据库、故障恢复、监视审计文件(5)数据库的改进和重组性能监控和调优、数据重组(6)数据库重构第三章关系数据库标准语言SQLSQL的特点1. 综合统一2. 高度非过程化3. 面向集合的操作方式4. 以同一种语法结构提供两种使用方法(自含式语言(交互式)/嵌入式语言(宿主式))5. 语言简洁,易学易用表3.1 SQL语言的动词定义基本表CREATE TABLE <表名>(<列名> <数据类型>[ <列级完整性约束条件> ][,<列名> <数据类型>[ <列级完整性约束条件>] ] …[,<表级完整性约束条件> ] );修改基本表ALTER TABLE <表名>[ ADD <新列名> <数据类型> [ 完整性约束 ] ][ DROP <完整性约束名> ][ ALTER COLUMN <列名> <数据类型> ];删除基本表DROP TABLE <表名> [RESTRICT|CASCADE];建立索引CREATE [UNIQUE] [CLUSTER] INDEX <索引名>ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);删除索引DROP INDEX <索引名>;查询SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …FROM <表名或视图名>[, <表名或视图名> ] …[ WHERE <条件表达式> ][ GROUP BY <列名1> [ HAVING <条件表达式> ] ][ ORDER BY <列名2> [ ASC|DESC ] ];插入单个元组INSERTINTO <表名> [(<属性列1>[,<属性列2 >…)]VALUES (<常量1> [,<常量2>] … )插入子查询结果INSERTINTO <表名> [(<属性列1> [,<属性列2>… )]子查询;[例3] 对每一个系,求学生的平均年龄,并把结果存入数据库。
《数据库系统原理》课程实验姓名:班级:学号:佛山科学技术学院计算机系2012年12月目录一、实验所需表格 (3)二、实验内容 (3)2.1实验一SQL数据定义 (3)2.2实验二SQL数据查询 (7)2.3实验三连接、嵌套和集合查询 (14)2.4实验四SQL的数据更新 (21)2.5实验五视图的建立和维护 (24)2.6实验六触发器和存储过程 (330)三、实验感想 (37)参考资料1.王珊萨师煊.《数据库系统概论》(第四版).高等教育出版社,20062.李存斌.数据库应用技术---SQL Server2000简明教程.中国水利水电出版社,2001一、实验所需表格学生-课程数据库xskc中用到的三个表文件如下:学生表:StudentSno(学号)Sname(姓名)Ssex(性别)Sage(年龄)Sdept(所在系)200215121李勇男20CS(计算机科学系)200215122刘晨女19CS(计算机科学系)200215123欧阳原野女18MA(数学系)200215125刘阳光男19IS(信息系)课程表:CourseCno(课程号)Cname(课程名)Cpno(先修课)Ccredit(学分)1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL64学生选课表:SCSno(学号)Cno(课程号)Grade(成绩)200215121192200215121285200215121388200215122290200215122380二、实验内容2.1实验一SQL数据定义一、实验目的和要求1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改;2.掌握索引的建立与删除的方法。
二、实验内容及结果(一)建立数据库通过查询分析器或企业管理器建立学生-课程数据库xskc。
create database xskcon(name=xskc_data,filename='e:\sjksy\xskc_data.mdf')log on(name=xskc_log,filename='e:\sjksy\xskc_log.ldf')注:先在E:盘上建立一个文件夹(例如:E:\sjksy),数据库文件保存到自建的文件夹中。
第1章绪论5 .试述数据库系统的特点。
答:数据库系统的主要特点有:( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
解析注意这里的“整体’夕两个字。
在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化。
不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活,可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生记录)。
而在文件系统中,数据的存取单位只有一个:记录,如一个学生的完整记录。
( 2 )数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
解析数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。
所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用,可以说数据是某个应用的“私有资源”。
所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,只需做很少的改动。
可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据,便可以满足新的需求。
( 3 )数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
( 4 )数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
为此, DBMS 必须提供统一的数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。
数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊⽬录实验⼀熟悉POWER DESIGNER (2)实验⼆SQL SERVER 2000的安装与使⽤ (5)实验三创建数据库、表 (15)实验四SQL SERVER2000查询分析器 (27)实验五SQL语⾔的DDL (36)实验六SQL语⾔的DML初步 (38)实验七DML的数据查询 (40)实验⼋SQL语⾔综合练习 (44)实验九嵌⼊式SQL ................... 错误!未定义书签。
实验⼗数据库设计.................... 错误!未定义书签。
实验⼀熟悉Power Designer⼀、实验⽬的1、掌握安装并破解PD的⽅法。
2、通过阅读和分析应⽤实例“学⽣选课系统CDM”,了解和熟悉PowerDesigner CDM及其相关知识。
3.掌握运⽤Power Designer⼯具建⽴CDM的⽅法。
4.初步掌握从Power Designer CDM⽣成相应的PDM的⽅法。
⼆、实验内容及实验步骤1、PD环境的介绍Power Designer的4种模型⽂件:(1) 概念数据模型(CDM)CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构⽆关。
⼀个概念模型经常包括在物理数据库中仍然不实现的数据对象。
它给运⾏计划或业务活动的数据⼀个正式表现⽅式。
(2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。
藉由PDM ,你考虑真实的物理实现的细节。
你能修正PDM 适合你的表现或物理约束。
(3)⾯向对象模型(OOM)⼀个OOM包含⼀系列包,类,接⼝, 和他们的关系。
这些对象⼀起形成所有的( 或部份) ⼀个软件系统的逻辑的设计视图的类结构。
⼀个OOM本质上是软件系统的⼀个静态的概念模型。
(4)业务程序模型(BPM)BPM 描述业务的各种不同内在任务和内在流程,⽽且客户如何以这些任务和流程互相影响。
BPM 是从业务合伙⼈的观点来看业务逻辑和规则的概念模型,使⽤⼀个图表描述程序,流程,信息和合作协议之间的交互作⽤2、创建CDM(以学⽣选课系统为例)(1)新建⼀个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学⽣”、“课程”实体和“选课”联系,并命名(3)为各实体和联系创建属性学⽣(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)(3)为各实体和联系创建属性学⽣(学号,姓名,性别,年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)每⼀条属性的M\P\D 分别代表:Mandatory(是否允许为空)Primary Identifier(标识符,类似于数据库中的主键)Displayed(是否显⽰在实体图表符号中)Domain 相当于⾃定义数据类型(4)创建实体间的联系“学⽣”和“教师”之间为多对多(m:n)关系,可将他们转化为两个⼀对多(1:m)关系(5)⽣成CDM3、将CDM转化为PDM实验⼆安装SQL Server 2000⼀、实验⽬的SQL Server 2000是Mircosoft公司推出的关系型⽹络数据库管理系统,是⼀个逐步成长起来的⼤型数据库管理系统。
实验一【附】1、定义一个学生-课程模式S-T create schema”s-t”authorization WANG(若上句没有模式名”s-t”,则默认为WANG) 2、删除模式ZHANGdrop schema ZHANG cascade(cascade级联:对象全删;restrict限制)1.建立学生-课程数据库s_t;create database s_t2.在数据库s_t下新建三张表:Student、Course、SC。
(1)学生表:Student(Sno,Sname,Sex,Sage,Sdept)。
Student由学号(Sno)、姓名(Sname)、性别(Sex)、年龄(Sage)、所在系(Sdept)五个属性组成,其中Sno为主键。
create table Student(Sno char(9)primary key not null,Sname char(20)unique not null,Ssex char(2)not null,Sage smallint not null,Sdept char(20)not null)Insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215121','李勇','男',20,'CS')insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215122','刘晨','女',19,'CS')insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215123','王敏','女',18,'MA')insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215125','张立','男',19,'IS')(2)课程表:Course(Cno,Cname,Cpno,Ccredit) Course课程号(Cno)、课程名(Cname)、先行课的课程号(Cpno)、学分(Ccredit)四个属性组成,其中Cno为主键。
实验一【附】1、定义一个学生-课程模式S-T create schema”s-t”authorization WANG(若上句没有模式名”s-t”,则默认为WANG) 2、删除模式ZHANGdrop schema ZHANG cascade(cascade级联:对象全删;restrict限制)1.建立学生-课程数据库s_t;create database s_t2.在数据库s_t下新建三张表:Student、Course、SC。
(1)学生表:Student(Sno,Sname,Sex,Sage,Sdept)。
Student由学号(Sno)、姓名(Sname)、性别(Sex)、年龄(Sage)、所在系(Sdept)五个属性组成,其中Sno为主键。
create table Student(Sno char(9)primary key not null,Sname char(20)unique not null,Ssex char(2)not null,Sage smallint not null,Sdept char(20)not null)Insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215121','李勇','男',20,'CS')insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215122','刘晨','女',19,'CS')insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215123','王敏','女',18,'MA')insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215125','张立','男',19,'IS')(2)课程表:Course(Cno,Cname,Cpno,Ccredit) Course课程号(Cno)、课程名(Cname)、先行课的课程号(Cpno)、学分(Ccredit)四个属性组成,其中Cno为主键。
其中Cpno参考了本表的Cno字段的值,Cno为主键create table course(cno char(40)primary key not null,cname char(4)not null,ccredit smallint not nullforeign key(Cpon)references course(Cno)) insert into Course values('1','数据库','5',4) insert into Course values('2','数学','',2)insert into Course values('3','信息系统','1',4) insert into Course values('4','操作系统','6',3) insert into Course values('5','数据结构','7',4)insert into Course values('6','数据处理','',2) insert into Course values('7','PASCAL语言','6',4)学生选课表:SC(Sno,Cno,Grade)SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,其Sno、Cno的组合为主键。
create table SC(Sno char(9)not null,cno char(4)not null,Grade smallint not null)insert into SC values('200215121','1',92)insert into SC values('200215121','2',85)insert into SC values('200215121','3',88)insert into SC values('200215122','2',90)insert into SC values('200215121','3',80))3基本表的修改:a)向Student表增加“入学时间”列,期数据类型为日期型b)将年龄的数据类型由字符型改为整型c)增加课程名称必须取唯一值的约束条件alter table studebt add s_entrance datetime alter table student alter column sage intalter table course add unique(cname)实验二1.查询全体学生的学号和姓名select sno,snamefrom student2.查询全体学生的详细记录select*from student3.查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示所有系名。
select sname,'year of birth:',2011-sage,lower( sdept)from student4.查询选修了课程的学生学号,去掉结果中的重复行。
select distinct snofrom sc5.查询所有年龄在20~23岁之间的学生姓名、系别和年龄。
select sname,sdept,sagefrom studentwhere sage not between20and236.查询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别。
select sname,ssexfrom studentwhere sdept in('cs','ma','is')7.查询所有姓刘的学生的姓名\学号和性别。
select sname,sno,ssexfrom studentwhere sname like'刘%’8.查询DB_Design课程的课程号和学分。
selcet cno,ccreditfrom coursewhere cname like'DB\_design'escape'\'9.查询计算机科学系年龄在20岁以下的学生姓名。
select sname,sagefrom studentwhere sdept='cs'and sage<2010.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列select sno,gradefrom scwhere cno='3'order by grade desc11.计算1号课程的学生最高分数。
select max(grade)from scwhere cno='1'12.查询选修了2门以上课程的学生学号。
select snofrom scgroup by snohaving count(*)>213.查每个学生的情况以及他所选修的课程select student.*,sc.*from student,scwhere sc.sno=student.sno14.求学生的学号、姓名、选修课程及成绩select student.sno,sname,cname,gradefrom student,sc,coursewhere sc.sno=student.sno and o=course .cno15.求选修课程号为2且成绩在90以上的学生学号、姓名和成绩。
select student.sno,sname,gradefrom student,scwhere sc.sno=student.sno and sc.sno='2'and sc.grade>9016.查询每一门课程的间接先行课(即先行课的先行课)select o,second.cpnofrom course first,course secondwhere frist.cpno=o实验三1.查询与“刘晨”在同一个系学习的学生select sno,sname,sdeptfrom studentwhere sdept in(select sdeptfrom studentwhere sname='刘晨')2.查询选修了课程名为IS的学生学号和姓名select sno,snamefrom studentwhere sno in(select snofrom scwhere cno in(select cnofrom coursewhere cname='IS'))3.找出每个学生超过他选修课程平均成绩的课程号select sno,cnofrom sc xwhere grade>=(select avg(grade)from sc ywhere y.sno=o)4.查询其他系中比计算机科学系某一学生年龄小的学生姓名和年龄select sname,sagefrom studentwhere sage<ANY(select sagefrom studentwhere sdept='CS')and sdept<>'cs'5.查询所有选修了1号课程的学生姓名select snamefrom studentwhere exists(select*from scwhere sno=student.sno and cno='1')6.查询选修了全部课程的学生姓名select snamefrom studentwhere not exists(select*from coursewhere not exists(select*from scwhere sno=student.snoand cno=o))实验四1将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。