收藏 分享(赏)

《数据库原理与SQL Server》教案.doc

上传人:jw66tk88 文档编号:7050884 上传时间:2019-05-04 格式:DOC 页数:90 大小:3.38MB
下载 相关 举报
《数据库原理与SQL Server》教案.doc_第1页
第1页 / 共90页
《数据库原理与SQL Server》教案.doc_第2页
第2页 / 共90页
《数据库原理与SQL Server》教案.doc_第3页
第3页 / 共90页
《数据库原理与SQL Server》教案.doc_第4页
第4页 / 共90页
《数据库原理与SQL Server》教案.doc_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、第 1 课 SQL Server 2000 简介教学目的 掌握 SQL Server 2000 的定制安装 掌握 SQL Server 2000 主要组件的基本操作 掌握 SQL Server 2000 数据库服务器的注册知识点 了解 SQL Server 2000 版本 理解 SQL Server 2000 软硬件平台技能点 会操作 SQL Server 2000 主要组件 熟练安装 SQL Server 2000 学时要求2 学时重点难点 SQL Server 2000 安装与配置一、 SQL Server 2000 概述1 发展史1990 年 Microsoft、Sybase 、Asht

2、on-Tate SQL Server 1.11992 年 Microsoft、Sybase SQL Server 4.21995 年 Microsoft SQL Server 61998 年 Microsoft SQL Server 72000 年 Microsoft SQL Server 2000三个重要版本:1996 年 SQL Server 6.5、1998 年 SQL Server 7.0 和 2000 年 SQL Server 2000。2 平台硬件:P166/64MB/180MB软件:企业版 1000 用户 TB 级 Windows NT/2000 Server标准版 100 用户

3、 GB 级 Windows NT/2000 Server个人版 10 用户 MB 级 Windows 98/2000 Professional3 安装注:如在不支持的 OS 上安装将弹出警告信息,提示用户只能安装客户端组件。数据库实例(Instance)即数据库服务器名,默认为服务器名。默认安装位置:C:Promram FilesMicrosoft SQL ServerMSSQL指定:MSSQL 为 MSSQL$一台机器上允许安装多个实例。如果使用本地系统帐户不需要设置密码,但没有网络访问权限。如果选择混合模式允许使用 Windows 身份验证或 SQL Server 2000 身份验证。使用

4、 Windows 98 时只能选择混合模式,且只有采用混合模式才能使用“sa ”用户登录。二、 SQL Server 2000 组件1 服务管理器启动/停止/暂停 SQL Server 服务。注:启动的作用:允许另外的数据库服务器访问。启动 Windows 自动启动的设置。连接数据库服务器时自动启动:SQL-EM 数据库服务器单击右键编辑SQL Server 注册信息。2 企业管理器类似资源管理器形式,SQL Server 主要工具。新建服务器组SQL-EMSQL Servers 组单击右键新建 SQL Server。注册服务器SQL-EM服务器组单击右键 新建 SQL Server 注册。同

5、网段注册:数据库服务器名。不同网段注册:IP 地址或/。3 查询分析器执行 Transact-SQL 语句。4 导入导出数据与其它数据库管理系统或其它数据格式之间交换数据。详见第 7 章。注:可实现不同的 SQL Server 服务器之间传递数据。5 服务器网络实用工具用于设置服务器支持的网络库及其参数,使客户机能连接到本服务器。6 客户端网络实用工具允许用户创建到指定服务器的网络协议连接和更改默认的网络协议。7 事件探查器使系统管理员监视 SQL Server 2000 中的事件。8 在 IIS 中配置 SQL XML 支持可以利用 HTTP 协议以 URL 方式访问 SQL Server

6、2000 数据库。9 联机丛书查找所需要的帮助信息。作业1 SQL Server 2000 包括哪些版本?其中能够在 Windows 2000 Advanced Server 上安装的可以有哪几个版本?2 在安装 SQL Server 2000 时如果使用默认实例名,系统的默认安装位置是什么?如果使用指定实例名,系统的默认安装位置又是什么?3 安装 SQL Server 2000 时,可供选择的身份验证模式有哪两种?有什么区别?4 简述“sa”的相关概念。5 简述 SQL Server 2000 的四个主要组件及其用途。实训实训一 SQL Server 2000 安装与启动实训名称:SQL S

7、erver 2000 安装与启动目的要求:掌握 SQL Server 2000 安装方法与启动 SQL Server 2000 的步骤操作步骤:(1) 安装 SQL Server 2000 标准版。其中设置选项:在本地安装新的 SQL Server 2000 服务器和客户端工具;使用默认实例名;选择典型安装,并将安装磁盘指定为 D,文件夹名称不变;使用域用户账户;使用混合验证模式。(2) 启动 SQL Server 服务管理器,并设置启动 OS 时自动启动该项服务。(3) 启动 SQL Server 企业管理器,并熟悉操作方法。(4) 设置创建与 SQL Server 服务器连接时,是否自动启

8、动 SQL Server 服务。(5) 在客户端 SQL Server 企业管理器中注册服务器端的数据库服务器。(6) 启动 SQL Server 查询分析器,并熟悉操作方法。第 2 课 数据库的管理教学目的 掌握数据库的相关知识 掌握 SQL Server 2000 数据库的构成 掌握 SQL Server 2000 数据库的创建 熟悉 SQL Server 2000 数据库的订阅和发布知识点 了解数据库的相关知识 了解 Transact-SQL 语言 理解 SQL Server 2000 数据库的构成技能点 熟练 SQL Server 2000 数据库的创建 会发布和订阅 SQL Serv

9、er 2000 数据库 学时要求2 学时重点难点 SQL Server 2000 数据库的创建一、 数据库构成1 数据库基础知识 相关概念数据与信息:数据是用于载荷信息的物理符号。数据管理和数据处理:收集、加工、发布| 管理 | _ 处理 _|eg. 天气预报 数据库技术的出现和发展人工管理阶段eg. 十个数排序背景:汇编语言特点:数据与程序不具有独立性。数据不能共享,冗余度高。文件系统阶段eg. 学生档案管理(学号、姓名、性别、出生日期) 、学生成绩(学号、姓名、性别、成绩)管理。背景:高级语言特点:数据与程序具有一定的独立性。数据可以共享,但仍有较高的冗余度(因很难共享) 。倒排文件系统阶

10、段文件系统的改进,采用索引技术,便于数据检索。数据库系统阶段eg. 学生档案管理、学生学籍管理背景:数据库技术特点:数据集中统一管理,与程序独立,通过 DBMS 操纵。数据可以共享,具有可控冗余度。 数据库系统构成DB(数据库):数据的集合。DBMS(数据库管理系统):数据库管理软件。DBA(数据库管理员):负责数据库系统的正常运行。DBS(数据库技术):采用了数据库技术的计算机系统。2 SQL Server 数据库类型 数据库由若干表及表间特定“关系”构成。 系统数据库master:系统所有系统级信息,最重要。model:模板数据库,包含用户数据库所有基本信息。msdb:服务信息。tempd

11、b:中间信息。 样本数据库pubs:一个虚拟出版公司数据库。northwind:一个虚拟贸易公司数据库。 用户数据库创建用户数据库时系统自动复制 model 中的内容。3 数据库中的对象 Table(表)存放数据 View(视图 )虚拟表,通过 select 语句对表中数据定制访问 Index(索引)表的索引,提高查询速度 Stored Procedure(存储过程)一组 SQL 语句,减轻网络流量 Trigger(触发器)以表动作为前提的一组 SQL 语句eg. 视图(s、c、sc 表的三表查询) 及索引、存储过程、触发器的概念。4 文件与文件组 数据库数据文件 主数据文件:1 个,mdf次

12、数据文件:0n 个,ndf事务日志文件:1n,ldf 文件组文件的集合,实现数据文件分组管理。默认一个主数据文件组即 PRIMARY。 注表可以指定放在文件上,即表中数据分布在不同文件中,加快速度,多磁头读写。通常数据与事务日志分开,优化放置。一个文件只能属于一个文件组,一个文件(组)只能用于一个数据库。二、 Transact-SQL1 SQL 概述结构化查询语言,RDBMS 的国际标准语言。有“方言” ,在 SQL Server 中即为TransactSQL,简称 TSQL。2 Transact-SQL 概述数据控制(DCL):安全管理。GRANY、DENY、ROVOKE数据定义(DDL):

13、创建数据库及对象。CREATE 、ALTER、DROP数据操纵(DML) :操作数据库中的对象。SELECT、INSERT、DELETE、UPDATE附加语言元素:变量、运算符、函数、流程控制等。3 执行方式SQL 语句:程序实现,但格式复杂,只给出最一般格式。SQL-EM:操作简便,但只能交互。三、 建立数据库1 创建数据库 SQL 语句create database 例 2-1 在 D 盘 example 文件夹下创建一个 student 数据库,主文件名student_data.mdf,事务日志文件名 student_log.ldf。create database studenton(n

14、ame=student_data,filename=d:examplestudent_data.mdf )log on(name=student_log,filename=d:examplestudent_log.ldf )例 2-2 在 D 盘 example 文件夹下创建一个 customer 数据库,包含一个数据文件和一个事务日志文件。主数据文件的逻辑文件名为 customer,实际文件名为customer.mdf,初始容量为 10MB,最大容量为 50MB,自动增长时的递增量为2MB。事务日志文件的逻辑文件名为 customer_log,实际文件名为customer_log.1df,初

15、始容量为 5MB,最大容量为 30MB,自动增长时的递增量为1MB。CREATE DATABASE customerON PRIMARY(NAME=customer,FILENAME=d:examplecustomer.mdf ,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=2MB)LOG ON(NAME=customer_log,FILENAME=d:examplecustomer_log.ldf ,SIZE=5MB,MAXSIZE=30MB,FILEGROWTH=1MB)例 2-3 在 D 盘 example 文件夹下创建一个 archive 数据库,包含三个数据文件

16、和两个事务日志文件。主数据文件的逻辑文件名为 archl,实际文件名为archdatl.mdf,两个次数据文件的逻辑文件名分别为 arch2 和 arch3,实际文件名分别为 archdat2.ndf 和 archdat3.ndf。两个事务日志文件的逻辑文件名分别为 archlogl和 archlog2,实际文件名分别为 archklogl.1df 和 archklog2.1df。上述文件的初始容量均为 5MB,最大容量均为 50MB,递增量均为 1MB。CREATE DATABASE archiveON PRIMARY(NAME=archl,FILENAME=d:examplearchdat

17、l.mdf ,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=1MB),(NAME=arch2,FILENAME=d:examplearchdat2.ndf ,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=1MB),(NAME=arch3,FILENAME=d:examplearchdat3.ndf ,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=1MB)LOG ON(NAME=archlogl,FILENAME=d:examplearchklog1.ldf ,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=1MB),

18、(NAME=archlog2,FILENAME=d:examplearchklog2.ldf ,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=1MB) SQL-EMSQL-EM数据库右键新建数据库:数据库名。注:文件的存储位置。2 修改数据库 SQL 语句alter database 例 2-4 将例 2-2 中的数据库 customer 的主数据文件 customer 的大小调整为20MB。ALTER DATABASE customerMODIFY FILE (NAME=customer,SIZE=20MB)例 2-5 将例 2-2 中的数据库 customer 增加一个

19、次数据文件 customer_1.ndf。ALTER DATABASE customerADD FILE (NAME=customer_1,FILENAME=d:examplecustomer_1.ndf ,SIZE=10MB,MAXSIZE=20MB,FILEGROWTH=20%)例 2-6 首先创建一个名为 test 的数据库,其主数据文件的逻辑文件名和实际文件名分别为 testdatl 和 tdatl.mdf。然后向该数据库中添加一个次数据文件,其逻辑文件名和实际文件名分别为 testdat2 和 tdat2.ndf。两个数据库文件的初始容量均为5MB,最大容量均为 10MB,递增量均为

20、 20%。CREATE DATABASE testON(NAME= testdat1,FILENAME=d:exampletdatl.mdf ,SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB)ALTER DATABASE testADD FILE (NAME=testdat2,FILENAME=d:exampletdat2.ndf ,SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=20%) SQL-EMSQL-EM指定数据库右键 属性3 删除数据库 SQL 语句drop database 例 2-7 删除数据库 test。drop database

21、test注:不能删除系统数据库。正在使用的库无法删除。除非使用备份,否则删除无法恢复。 SQL-EMSQL-EM指定数据库右键 删除4 重命名数据库sp_renamedb , 例 2-8 将数据库 archive 名修改为 arch。Sp_rename archive, arch注:系统数据库和正在使用的库无法重命名。四、 发布和订阅数据库发布服务器分发服务器订阅服务器1 配置发布和分发SQL-EM指定数据库服务器 右侧复制图标右键配置发布、订阅服务器和分发:分发服务器、快照文件夹。2 创建发布SQL-EM指定数据库服务器复制文件夹 右侧发布内容图标右键新建发布:发布数据库、类型、项目。3 订

22、阅发布SQL-EM指定数据库服务器复制文件夹 右侧订阅图标右键新建请求订阅:发布数据库、目的数据库。作业1 数据管理技术经历了哪三个阶段?各阶段的主要特点是什么?2 简述 DB、DBA、DBS、DBMS 的概念及其关系。3 SQL Server 2000 数据库包括哪几种类型?4 SQL Server 2000 系统数据库包括哪几个?分别有什么作用?5 组成 SQL Server 2000 数据库的文件类型包括哪几个?扩展名是什么?一个数据库中,各文件分别可以有多少个?6 简述文件组的概念。7 简述发布和订阅数据库的应用场合及简要操作步骤。实训实训二 创建数据库实验名称:创建数据库目的要求:掌

23、握 SQL Server 2000 中创建数据库的方法操作步骤:(1) 在 D 盘根目录下创建文件夹“student” 。(2) 使用 SQL-EM 创建数据库 student,包括一个主数据文件、一个事务日志文件。(3) 指定 student 的主数据文件为“student.mdf ”,事务日志文件名为“student.ldf ”,并存放在 D 盘 student 文件夹中。(4) 数据库其它属性设置取默认值。(5) 发布和订阅所建数据库 student。第 3 课 表的管理教学目的 熟悉关系模型及相关概念 掌握表结构建立 掌握表数据维护知识点 理解关系模型技能点 会用 SQL 语句建立表结

24、构 熟练用 SQL-EM 建立表结构 熟练维护表数据学时要求2 学时重点难点 表建立和维护一、 关系模型1 数据描述数据管理步骤:概念设计逻辑设计物理设计 概念设计实体:客观存在的事物,包括抽象的。实体集:同类实体的集合。属性:实体的特性。实体标识符:能惟一标识实体的属性(集) 。eg. “学生”实体集,包括属性“学号” 、 “姓名” 、 “性别” ,实体标识符为“学号” 。 逻辑设计字段:实体属性的命名单位。 属性记录:字段的有序集合。 实体文件:同类记录的集合。 实体集关键字:能惟一标识记录的字段(集) 。实体标识符eg. “学生”文件,包括字段“学号” 、 “姓名” 、 “性别” ,主健

25、为“学号” 。 物理设计存储介质:高速缓存、内存、快擦写存储器、磁盘、光盘、磁带。数据描述:Bit、Byte、Word、Block、Bucket、Volume。eg. “学生”文件,d:examplestudent.mdf。eg. 对“学生”的描述2 数据模型 定义表示实体类型及实体间联系的模型称为数据模型。概念设计概念数据模型:实体联系模型。逻辑设计逻辑数据模型:层次模型、网状模型、关系模型。 实体联系模型(ER 模型)数据联系联系:实体间的关系。N 元联系:与联系相关的实体个数。二元联系的类型:一对一、一对多、多对多。eg.其它联系:与二元联系类似。ER 图实体:矩形框。属性:椭圆形框。联

26、系:菱形框。联系的类型:1、m、n。实体标识符:下划线。例 3-2 为“学生选课系统”设计一个 ER 模型。 结构数据模型层次模型:树形。MN 分为 M 个 1N 。联系描述复杂。网状模型:有向图。MN 分为 2 个 1N 。联系描述复杂。关系模型:二维表。例 3-3 将例 3-2 的 ER 模型转换为关系模型。学生关系模式 s(sno,class,sname,sex,birthday,address,telephone,email)课程关系模式 c(cno,cname,credit)选课关系模式 sc(sno,cno,score )二、 建立表结构1 概述数据库中最主要的数据对象,数据只能存

27、储在表中。eg. 例 3-42 数据类型共 28 种,主要包括:数值数据类型整型:bigint(8 字节)、int(4 字节)、smallint(2 字节) 、tinyint(1 字节)。实型 精确(小数):decimal(p,s)、numeric(p,s),两种数据等价。近似(浮点数):folat(n) (8 字节) 、real(4 字节)。字符数据类型char(n):定长字符串类型,n 范围为 18000。varchar(n):变长字符串类型,即自动删除字符串尾部空格后存储。n 范围为18000。text:文本类型,实际也是变长字符串类型,存储长度超过 char(8000)的字符串,最大长

28、度 231-1。实际上,text 列仅存储一指针,数据本身存储在连接表中。字符串类型常量两端应加单引号。逻辑数据类型bit:1 字节,值为 0 或 1。当输入 0 和 1 以外的值时自动转换为 1。二进制数据类型binary(n):定长, n+4 个字节。varbinary(n):变长。image:将图形以位字符串形式存储,长度 2GB。注:二进制类型常量应用十六进制表示,并以 0x 作前缀。日期时间数据类型datetime:1753.1.19999.12.31。smalldatetime:1900.1.12079.12.31 。注:日期时间类型常量两端应加单引号。如果只指定日期,则时间默认午

29、夜 12 点 0 分 0 秒。如果只指定时间,则日期默认 1900 年 1 月 1 日。如果省略世纪时,则50 视为 19。货币数值类型money:8 字节,4 位小数。smallmoney: 4 字节。注:货币类型常量应以美元符号($)或所定义的金融单位符号作前缀。用户自定义数据类型3 创建表 SQL 语句create table . 完整性约束:主键完整性约束(primary)惟一完整性约束(unique)外键完整性约束(foreign)非空完整性约束(not null)缺省完整性约束(default)检查完整性约束(check)例 3-5 在 student 数据库中,为例 3-4 的三

30、个关系模式 s、c、sc 创建表 s、c、sc。CREATE TABLE s (sno char(4) PRIMARY key, class char(20),sname char(8),sex char(2),birthday datetime,address varchar(50),telephone char(20),email char(40) CREATE TABLE c (cno char(4) PRIMARY key, cname char(20),credit tinyint) CREATE TABLE sc (sno char(4),cno char(4),score sma

31、llint,PRIMARY key(sno,cno)例 3-6 在有关零件、供应商、工程项目的数据库中,有四个关系,其结构如下:供应商关系:S(SNO ,SNAME,STATUS,ADDR)零件关系:P(PNO ,PNAME,COLOR,WEIGHT)工程项目关系:J(JNO,JNAME,CITY ,BALANCE )供应情况关系:CREATE TABLE S(SNO CHAR(4) NOT NULL,SNAME CHAR(20) NOT NULL,STATUS CHAR(10),ADDR CHAR(20),PRIMARY KEY (SNO)GOCREATE TABLE P(PNO CHAR(

32、4) NOT NULL,PNAME CHAR(20) NOT NULL,COLOR CHAR(8),WEIGHT SMALLINT,PRIMARY KEY (PNO)GOCREATE TABLE J(JNO CHAR(4) NOT NULL,JNAME CHAR(20),CITY CHAR(20),BALANCE NUMERIC(7,2),PRIMARY KEY (JNO)GOCREATE TABLE SPJ(SNO CHAR(4) NOT NULL,PNO CHAR(4) NOT NULL,JNO CHAR(4) NOT NULL,PRICE NUMERIC(7,2),QTY SMALLIN

33、T,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO) REFERENCES S(SNO),FOREIGN KEY(PNO) REFERENCES P(PNO),FOREIGN KEY(JNO) REFERENCES J(JNO),CHECK(QTY BETWEEN 0 AND 10000)GO SQL-EMSQL-EM指定数据库表 右键新建表:字段、完整性约束、表名。例 3-7 使用 SQL-EM 创建例 3-4 中的表 sc。注:主键完整性约束:单击“设置主键” 。惟一完整性约束:选择“管理关系”“索引/键”“新建” 。外键完整性约束:新建关系图或单击“管理

34、关系”图标。非空完整性约束:单击“允许空” 。缺省完整性约束:输入默认值。检查完整性约束:选择“管理关系”“CHECK”“新建” 。4 修改表 SQL 语句alter table . 例 3-8 在表 s 中增加新的列 postcode。alter table s add postcode char(6) null例 3-9 删除表 s 中的列 postcode。alter table s drop colum postcode例 3-10 设置表 sc 中的列 sno 为外键。alter table sc addconstraint fk_sc_sforeign key(sno)refere

35、nces s(sno)例 3-11 为表 sc 的列 score 增加约束。alter table sc with nocheckadd constraint score_checkcheck (score=0 and score. 例 3-14 删除 student 数据库中的 sc 表。drop table sc SQL-EMSQL-EM指定数据库指定表 右键删除注:删除表包括表定义、约束、数据、索引、触发器等。不能删除系统表、外键约束的参考表。三、 编辑数据1 SQL-EMSQL-EM指定表右键打开表 返回所有行2 SQL 语句 insert格式一 insert into () valu

36、es()eg1.insert into s(sno,sname) values(0001, 张三)格式二 insert into () select from eg2.将 jy41_01_s 的记录插入 jy41_02_s(表结构相同) 。insert into jy41_02_s select * from jy41_01_s例 3-15 在表 s 中插入一学生,学号为“1001” ,班级为“信息 501”,姓名为“黄鹏” ,性别为“男” ,出生日期为“1981 年 10 月 12 日” ,住址“江苏省常州市” ,电话“13905190335” ,电子信箱为“ ”。insert into s

37、values(1001, 信息 501, 黄鹏, 男, 1981-10-12, 江苏省常州市 , 13905190335, )例 3-16 在表 s 中插入一学生,学号为 “2001”,班级为“计应 501”,姓名为“张宇蛟” ,性别为“男” ,出生日期为“1984 年 11 月 6 日” ,电子信箱“”。insert into s(sno,class,sname,sex,birthday,email)values(2001, 计应 501, 张宇蛟, 男, 1984-11-6, )例 3-17 将表 s 的男生记录插入表 s_bak 中。假设表 s_bak 已存在,且结构与表 s相同。ins

38、ert into s_bak注:事务的概念 当插入违背了完整性约束时,则事务回滚。如若 jy41_01_s 已存在 jy41_02_s 中同 sno 的记录,则一条记录都不会插入,不会仅插入 sno 不同的记录。 deletedelete from where 例 3-18 删除表 s_bak 中所有男生。delete from s_bak where sex=男 updateupdate set = from where 例 3-19 将表 s 学号为“2001”的学生的住址改为“北京市” ,电话为“13900102329”。update s set address=北京市,telephon

39、e=13900102329 where sno=2001eg1.将所有选修了课程号为 c1 的学生的成绩加 10 分。update sc set score=score+10 where cno=c1eg2.将所有选修了 c+课程的学生的成绩加 10 分。update sc set score=score+10 from c where cname=c+ and o=o作业1 简述数据模型的概念。2 什么是概念数据模型?什么是逻辑数据模型?列出常用的概念数据模型和逻辑数据模型。3 简述 ER 模型、层次模型、网状模型、关系模型的主要特点。4 简述关键键、超键、候选键、主键、外键的区别。5 设某

40、商业集团有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。同时,供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。试画出反映上述问题的 ER 图,并将其转换成关系模型。6 什么是数据完整性规则?在 SQL Server 2000 中,是如何实现数据完整性规则的?7 试用 SQL 语句

41、描述对数据库 student 中三个基本表 s、c、sc 的操作。(1) 向表 s 中插入一个学生,属性自定。(2) 将表 s 中每一门课程成绩都大于等于 80 分的学生学号、姓名和性别插入另一个已存在的表 student(sno,sname,sex)中。(3) 删除表 sc 中尚无成绩的选课元组。(4) 把学号为 0001 的学生的选课和成绩数据全部删除。(5) 把选修了数据库应用课程的不及格的学生成绩全改为 0。(6) 把低于总平均成绩的女同学成绩提高 5。(7) 修改表 sc 中课程编号为 c001 的成绩,若成绩小于等于 75 分时提高 5,若成绩大于 75 分时提高 4(用两个 UP

42、DATE 语句实现) 。实训实训三 创建表实验名称:创建表结构并录入记录目的要求:掌握 SQL Server 2000 中创建表及录入记录的方法操作步骤:(1) 使用 SQL-EM 在数据库 student 中创建学生表,表名要求为“_s” ,包含列:sno、char(4),class、char(20) ,sname、char(8), sex、char(2),birthday、datatime ,address、varchar(50),telephone 、char(20) ,email、char(40) 。其中,sno 为主键,要求 class、sname 非空,并指定 sex 默认值为 “

43、男” 。(2) 使用 SQL-EM 在数据库 student 中创建课程表,表名要求为“_c” ,包含列:cno、 char(4),cname、char(20) ,credit、tinyint。其中,cno 为主键,指定 cname为惟一性字段。(3) 使用 SQL-EM 在数据库 student 中创建选课表,表名要求为“_sc” ,包含列:sno、char(4),cno 、 char(4),score、smallint 。其中, sno、cno 为主键,指定 sno为外键参照表 s 的 sno,指定 cno 为外键参照表 c 的 cno。(4) 使用 SQL 语句在学生、课程和选课表中录入

44、本班五名以上学生的真实数据。第 4-7 课 数据库规范化设计教学目的 熟悉数据库规范化设计知识点 了解函数依赖 了解关系模式的三个范式学时要求 关系规范化、函数依赖:2 学时 属性集闭包:2 学时 2NF、2NF 的判定:2 学时 综合实例:2 学时重点难点 关系模式范式的判定一、 关系规范化1 关系模式的操作异常数据冗余:同一数据多次出现。问题:操作异常,是一个不好的模式。例 3-21 设有“学生选课” 关系模式 R(sno,sname,sex,cno,cname,score),其属性分别表示学生学号、姓名、性别、选修课程的课程编号、课程名、成绩。关系模式 R 实例sno sname sex

45、 cno cname score1001 黄鹏 男 c001 数据库应用 771004 刘玉春 女 c001 数据库应用 621006 王玲 女 c001 数据库应用 501006 王玲 女 c002 VB 程序设计 641004 刘玉春 女 c002 VB 程序设计 741007 李国 男 c003 计算机网络 0数据冗余:修改异常数据的不一致性插入异常数据无法插入删除异常数据丢失2 关系模式的规范化泛关系模式:当 R(U)中 U 包含了现实问题的所有属性,称 R(U)为泛关系(模式) 。问题:泛关系模式通常右数据冗余,需分解为多个模式,其集合称为数据库模式。eg. 对“学生选课”建立关系模

46、式:R(sno,sname,sex,cno,cname,score)显然为泛关系模式。分解为:R1(sno,sname,sex),R2(cno,cname),R3(sno,cno,score)3 符号规定A、B、C 表示单个属性,U、V、W 、X 、Y、Z 表示属性集。R、S 表示关系,R(A,B,C)R(ABC)=ABC=A,B,C。二、 函数依赖(FD)数据依赖:数据间的联系,最基本的是函数依赖。1 FD 的定义定义:R(U) ,X、Y 为属性集,t1 、t2 为元组,若 t1X t2X,则 t1Yt2Y ,称 X 函数决定 Y 函数或 Y 依赖与 X,记作 XY 。例 3-22 对实例

47、3-21“学生选课”关系模式 R,如果规定每个学生只能有一个姓名,每个课程号只能对应一门课程,则有以下 FD:snosnamecnocname由于每个学生每选修一门课程只能有一个成绩,则有以下 FD:(sno,cno)score当然,还有以下 FD:snosexsno(sname,sex)例 3-23 设关系模式 R(ABCD),假设 A 与 B 为一对多联系,而 C 与 D 为一对一联系,试写出相应的 FD。由于 A 与 B 为一对多联系,即每个 A 值有多个 B 值对应,即 B 值决定 A 值,可写出 FD:BA。同理,由于 C 与 D 为一对一联系,可写出 FD:DC 和 CD。注意一对

48、一、一对多关系(如学号和性别为一对多)的 FD。2 FD 和关键码的关系定义:R(U) ,若 XU,则称 X 是 R 的超键。如果 X 任一子集 X1,有 X1U 不成立,则称 X 是 R 的候选键。例 3-24 由例 3-22 关系模式 R 的分析,有以下 FD:(sno,cno)(sno,sname,sex,cno,cname,score)即(sno,cno)为关系模式 R(U)的候选键。虽然有以下 FD:(sno,sname,cno)(sno,sname,sex,cno,cname,score)但(sno,sname,cno)只是关系模式 R(U)的超键而非候选键,因为(sno,sname,cno)含多余属性 sname。结论:若 X 是 R 的候选键,则任意 Y 均有 XY 。eg. “

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报