SQL Server数据库技术-第1章_第1页
SQL Server数据库技术-第1章_第2页
SQL Server数据库技术-第1章_第3页
SQL Server数据库技术-第1章_第4页
SQL Server数据库技术-第1章_第5页
已阅读5页,还剩125页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLServer课程概述教师资料葛磊QQ:23756930邮箱同上电话QLServer课程概述课程简介

SQLServer2000企业版是一套完整的数据库设计和分析产品,可提供下一代可扩展电子商务、各种业务和数据仓库解决方案。本课程介绍编写基本的SQL查询语句所需的知识,以及利用SQLServer2000进行数据库设计的知识。预备知识熟练使用Windows,熟悉基本操作、用户账户的创建、系统监视组件的使用-计算机文化基础掌握网络基本知识-计算机网络基础对关系数据库有初步了解,熟悉基本的SQL语句-数据库基础SQLServer课程概述课程学时:68=4*17=34理论+34实践课程地位:第三学期专业主干课程相关课程:后续课程-程序开发课程(Java/.NET)。。。。。。课程考核:卷面70%+平时成绩30%(练习和考勤)考勤:缺课一次(50分钟*2节)扣1分,迟到一次扣0.5分(超过第一节课30分钟算缺课)SQLServer课程概述学习目的后续课程需要就业需要:程序设计类、服务器/网络维护类继续深造学习的需要:新领域物联网、云计算、大数据数据库技术的发展前瞻-大数据

大数据、云计算、物联网、移动互联网与传统互联网之间的关系。1.物联网对应了互联网的感觉和运动神经系统。2.云计算是互联网的核心硬件层和核心软件层的集合,也是互联网中枢神经系统萌芽。3.大数据代表了互联网的信息层(数据海洋),是互联网智慧和意识产生的基础。

包括物联网,传统互联网,移动互联网在源源不断的向互联网大数据层汇聚数据和接受数据。大数据和SQLServer的关系数据模型:包括数据库数据的结构部分(数据类型和类型间的关系)、数据库数据的操作部分和数据库数据的约束条件。数据模型按应用层次分类概念模型E-R模型逻辑模型网状模型层次模型关系模型物理模型和硬件、OS、DBMS有关结构化数据:能够用数据或统一的结构加以表示,可以用二维表结构来逻辑表达实现。非结构化数据:无法用数字或统一的结构表示,如文本、图像、声音、网页等,称之为非结构化数据。结构化数据属于非结构化数据,是非结构化数据的特例。大数据和SQLServer的关系数据分析层OfficePowerpivot和SharePointPowerView构造数据模型数据扩充层WindowsAzureMarketplace整合数据集,提供数据挖掘算法数据管理层结构化数据-SQLServer和SQLServer并行数据仓库;非结构化数据-WindowsAzure和WindowsServer上Hadoop;

流数据-SQLServerStreamInsight1.SQLServer2012全面支持Hadoop。SQLServer2014针对大数据加入内存数据库功能,从硬件角度加速数据的处理,也被看为是针对大数据的改进。2.微软同时在WindowsAzure平台和WindowsServer上提供Hadoop,把Hadoop的高性能、高可扩展与微软产品易用、易部署的传统优势融合到一起,形成完整的大数据解决方案。参考资料互联网资源/sql/default.asp/technet//china/technet/可参考书籍《MicrosoftSQLServer2000数据库编程》

ISBN:

7900071024MSDN和TechNetMSDN站点上包含了大量可供开发人员使用的文档、代码和技巧/TechNet站点上包括了IT专业人员在规划、部署、运行、维护和管理时参看和使用的文档、指南和技巧/technet/SQLServer课程概述学习注意事项:梁启超《论小说与群治之关系》:“知其然而不知其所以然”,只知道事物的表面现象,不知事物的本质及其产生的原因。学以致用:什么用?怎么用?学习的深度和广度:当前阶段广度优于深度当前的学习能力限制深度更多来源于实践和领悟:“师傅领进门,修行在个人”SQLServer第一章数据库设计概述本章综述本章描述了数据库设计的一般过程,并以开封大学总务处总务管理系统的数据库设计为应用实例,通过需求分析、概念结构设计、逻辑结构设计、数据库的实现四个阶段描述了数据库设计的一般工作过程。本章内容数据库设计基础数据库设计过程之一--需求分析数据库设计过程之二--概念结构设计数据库设计之三--逻辑结构设计数据库设计过程之四—数据库实现技能展示:掌握数据库的基本概念了解数据库设计的一般流程掌握E-R图的作图了解范式的概念,掌握数据规范化的方法1.1数据库设计基础开封大学信息工程学院数据库基本概念SQLServer数据库设计概述数据库管理系统数据库在计算机系统中的位置硬件平台基础软件平台软件基础构架平台应用软件平台软件产品协同软件办公软件数据库系统操作系统

中间件应用服务器1.1.1数据库基本概念开封大学信息工程学院数据库的地位数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。数据库系统与操作系统能够一样是计算机系统的基础软件,也称为系统软件、平台软件。它的出现极大地促进了计算机技术在各行各业的应用数据库技术是信息系统的核心和基础,是信息化建设的基础设施,它的出现极大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。1.1.1数据库基本概念开封大学信息工程学院数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)1.1.1数据库基本概念开封大学信息工程学院一、数据数据(Data)是数据库中存储的基本对象。数据的定义描述事物的符号记录。数据的种类文本、图形、图像、音频、视频、档案记录等。数据的特点数据与其语义(含义)是不可分的。开封大学信息工程学院数据举例数据的含义称为数据的语义,数据与其语义是不可分的。例如93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:计算机系2003级学生人数语义4:请同学给出。。。例如:A

语义1:?

语义2:?。。。。。。思考!开封大学信息工程学院数据举例学生档案中的学生记录(李明,男,197205,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系请给出另一个解释和语义,思考!开封大学信息工程学院二、数据库数据库的定义数据库(Database,简称DB)

是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展开封大学信息工程学院三、数据库管理系统(DBMS)什么是DBMS(DatabaseManagementSystem)位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统DBMS的用途科学地组织和存储数据、高效地获取和维护数据核心操作在于:存、取常用的数据库管理系统如:1.Microsoft的Access、MicrosoftSQLServer

(最初采用Sybase的技术)2.

Oracle

(2013年,甲骨文已超越

IBM

,成为继

Microsoft

后全球第二大软件公司。)3.

Informix是第一个被移植到Linux上的商业数据库产品。

4.

成立于1984年Sybase

Co的SybaseSQLServer

5.

IBM

的DB2

6.瑞典MySQLAB公司的小型关系数据库MySQL开封大学信息工程学院DBMS的主要功能DBMS功能模块数据定义功能DDL数据操纵功能DML数据库的运行控制与管理数据库的建立和维护功能其它功能开封大学信息工程学院Definition[dɛfənɪʃən]Manipulation[mənɪpjʊleʃən]1.数据定义功能提供数据定义语言(DataDefinitionLanguage,DDL),定义数据库中的数据对象。主要包括:模式、外模式、存储模式定义安全性定义(数据库的恶意破坏非法操作和存取)完整性定义(存在不符合语义的数据,一般是输入/出错误)开封大学信息工程学院图1-1数据库的三级模式结构开封大学信息工程学院用户级对应外模式-不唯一;概念级对应模式;物理级对应内模式-唯一的;

使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中"的反映,很显然,不同层次(级别)用户所“看到’’的数据库是不相同的。

用户应用程序根据外模式进行数据操作,当模式发生改变时,只要改变其外模式一模式映射,就可以使外模式保持不变,对应的应用程序也可保持不变;当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。数据库的三级模式结构如下图所示:

3.数据库的运行控制与管理数据库在建立、运行和维护时由DBMS统一管理和控制,保证数据的安全性、完整性、多用户对数据的并发及发生故障后的系统恢复2.数据操纵功能提供数据操纵语言(DataManipulationLanguage,DML)实现对数据库的基本操作(查询、插入、删除和修改)增、删、改、查开封大学信息工程学院4.数据库的建立和维护功能(实用程序)数据库初始数据装载转换数据库转储介质故障恢复数据库的重组织性能监视分析等5.其它功能DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作开封大学信息工程学院DBMS的层次结构数据文件,数据字典,索引,统计数据操作系统数据存储层数据存取层语言翻译处理层数据库应用层DBMS执行物理文件的读写操作事务,日志,封锁,存取路径,提供单元组接口DDL,DML,DCL,查询引擎,提供关系、视图接口缓冲区,提供数据页操作开封大学信息工程学院四、数据库系统什么是数据库系统(DatabaseSystem,简称DBS)

在计算机系统中引入数据库后的系统构成数据库系统的构成数据库数据库管理系统(及其开发工具)应用系统数据库管理员(DBA:DataBaseAdministrator)用户开封大学信息工程学院图1-2应用程序与数据库、数据库管理系统之间的关系开封大学信息工程学院数据库系统各组成成分的关系用户应用系统数据库用户用户操作系统DBMS应用开发工具数据库管理员管理维护在不引起混淆的情况下常常把数据库系统简称为数据库开封大学信息工程学院数据库应用系统软硬件层次结构应用系统硬件操作系统应用开发工具软件Java/.NETDBMSOracle,Db2,Sybase,SQLServer,Informix图数据库在计算机系统中的地位开封大学信息工程学院1.1.2SQLServer数据库设计概述数据库设计(DatabaseDesign)是指对于给定的应用环境,构造最优的数据库结构,建立数据库及其应用系统,使之有效存储数据,对数据进行操作和管理,以满足用户的处理需求的过程数据库设计大致分为四个阶段

1.需求分析 2.概念结构设计 3.逻辑结构设计 4.数据库的实现(物理设计)开封大学信息工程学院数据库设计步骤需求分析概念结构设计数据库实现逻辑结构设计开封大学信息工程学院数据库设计的基本原则数据库建设的基本规律三分技术、七分管理、十二分基础数据管理数据库建设项目管理企业(应用部门)的业务管理基础数据收集、入库更新数据结构(数据)设计和行为(处理)设计相结合将数据库结构设计和数据处理设计紧密结合1.2数据库设计过程之一--需求分析开封大学信息工程学院需求分析理论基础开封大学总务综合信息管理系统的需求1.2.1需求分析理论基础进行数据库软件开发,必须首先了解与分析用户需求。需求分析的任务是通过详细的调查研究,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定系统的功能,为概念设计奠定基础开封大学信息工程学院1.2数据库设计过程之一--需求分析需求分析阶段需要完成工作:确定系统范围(或系系统边界)。确定用户对未来系统的各种需求。分析业务,得出数据流。分析系统数据,产生数据字典开封大学信息工程学院系统分析报告(也称需求规范说明书)

系统的概况、目标、范围、背景、历史和现状

系统的总体结构和子系统的结构说明

系统功能划分和说明

组织结构图、数据流程图、功能模块图和数据字典等图表系统分析报告开封大学信息工程学院1.2.2开封大学总务综合信息管理系统的需求

该系统主要以建筑房间、资产等为管理对象,主要功能包括用户管理资产管理建筑房间管理。开发系统时,主要关注的问题总务综合信息管理系统应提供哪些功能。总务综合信息管理系统中涉及哪些对象,各对象间以及对象内部存在哪些关系?如何保存各数据对象,以便于数据处理。开封大学信息工程学院总务综合信息管理系统

建筑房间的管理资产的管理房间信息的管理和查询资产信息的管理和查询系统应具有的功能开封大学信息工程学院1.3数据库设计过程之二--概念结构设计开封大学信息工程学院概念结构设计理论基础概念结构设计的任务及其工作开封大学总务综合信息管理系统的概念结构设计

1.3数据库设计过程之二--概念结构设计

开封大学信息工程学院1.3.1概念结构设计理论基础一、数据抽象、数据的描述在数据处理中,将涉及不同的数据描述领域。从事物的特性到计算机里的具体表示,数据描述经历了三个领域(三个世界):现实世界:存在于人们头脑以外的客观世界,现实世界的数据就是客观存在的各种报表、图表等原始数据。信息世界:现实世界在人们头脑中的反映,把现实世界的数据用文字和符号记载下来。计算机世界:信息世界的信息在计算机(机器)世界中以数据形式存储。开封大学信息工程学院1.3.1概念结构设计理论基础一、数据抽象、数据描述现实世界(事物及其联系)信息世界(实体及其联系)概念化认识抽象计算机世界(数据及其联系)形式化转换在信息世界和计算机世界进行数据描述,形成两种数据模型:信息模型概念数据模型数据模型结构数据模型开封大学信息工程学院1.数据模型分为两类(分属两个不同的层次)(1)概念数据模型

也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。

(2)结构数据模型-逻辑模型和物理模型

逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。开封大学信息工程学院两大类数据模型(续)客观对象的抽象过程---两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。开封大学信息工程学院两大类数据模型(续)DBMS支持的数据模型概念模型认识抽象信息世界机器世界现实世界中客观对象的抽象过程现实世界现实世界概念模型数据库设计人员完成逻辑模型物理模型由DBMS完成概念模型逻辑模型数据库设计人员完成开封大学信息工程学院二、概念模型涉及的基本概念按用户的观点来对数据和信息建模。用于建立信息世界的数据模型,组织信息世界的信息及其联系,描述从现实世界中抽象出来的事物以及它们之间的联系,与硬件、DBMS无关。概念模型强调其语义表达能力,要求概念简单、清晰,易于为用户理解。概念模型是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言。是数据库设计人员进行数据库设计的工具。概念模型的描述工具:E-R图。1.概念数据模型-简称概念模型开封大学信息工程学院实体(Entity)属性(Attribute)关键字/码(Key)域(Domain)实体型(EntityType)实体集(EntitySet)实体型之间的联系(Relationship)

概念模型的表示方法:实体-联系方法E-R方法(Entity-Relationship-Approach)2.概念模型的基本概念开封大学信息工程学院概念模型的基本概念:实体

1.实体(Entity)客观存在并可相互区分的事物叫实体。实体是对现实世界任何可被识别事物的抽象命名,不论是可见还是不可见。实体可以是具体的人、事、物。如:学生张林、计算机系、一次借书等实体可以是抽象的概念,如“大学生”,“部门”,“建筑”实体可以是事物之间的联系,如“一次借书”,“房间的分配”实体型:抽象的实体,如“大学生”,“建筑”,“部门”实体值:具体的实体,如“大学生张林”,“综合楼”,“软件学院”开封大学信息工程学院概念模型的基本概念:属性

2.属性(Attribute)实体所具有的某一特性,即客观事物性质的抽象一个实体的特征可以由若干个属性来刻画例如,部门实体由部门号、部门名、部门性质、联系电话等属性组成属性一般由属性名、属性型和属性值组成属性名:是属性标识属性型和属性值:给出属性的类型和取值任何实体,统一地用一组属性来描述它概念模型的基本概念:域

3.域(Domain)、值域、值集属性的取值范围例如,性别的域为“男”、“女”两个值也可以用“T”、“F”;甚至“0”、“1”又如,月份的域为1~12的整数开封大学信息工程学院概念模型的基本概念:码

4.码(Key)、关键字实体是可区别的,用什么来区分?----码能唯一标识实体的一个属性(或属性组)称作码码是唯一取值,一个实体集中任意两个实体在码属性上的取值不能相同。如:“学号”是学生实体的码又如:部门实体(部门号、部门名、部门性质、联系电话)中,部门号不会相同,可以作码开封大学信息工程学院概念模型的基本概念:实体型5.实体型(EntityType)具有相同属性的实体必然具有共同的特征和性质,用实体名与其属性名集合共同构成实体型。例,学生(学号、姓名、年龄、性别、系、年级)注意实体型与实体(值)之间的区别,后者是前者的一个特例(值)如(9808100,王平,21,男,计算机系,2)是一个学生实体(值)开封大学信息工程学院概念模型的基本概念:实体集

6.实体集(EntitySet)同型共性实体(值)的集合称为实体集。如全体学生的实体集合不论是实体型、实体值或实体集,一般笼统地说实体,根据上下文去理解。实体和属性都有所谓类型与值之分。型是结构,值是在结构约束下的取值。开封大学信息工程学院示例

学生(学号

姓名性别年龄系别)

9908001王平男21计算机系 9908002李林男20计算机系 9901100马燕女20中文系::实体型实体属性属性值实体集

“性别”属性的域是{“男”,“女”}

码开封大学信息工程学院概念模型的基本概念:实体的联系

7.实体的联系(Relationship)事物联系在信息世界中有两大类:一类是实体内部属性之间的联系一类是实体集的实体和实体之间的联系例:学生实体的“学号”与“姓名”的联系;学生实体与课程实体之间的“选课”联系开封大学信息工程学院实体间的联系实体间联系有三种方式:一对一联系(简记为1:1)一对多联系(简记为1:n)多对多联系(简记为m:n)三种联系方式中,基本的是1:n联系,因为1:n包含了1:1,而m:n可以转换为1:n。开封大学信息工程学院两个实体集之间的联系:1:1

一对一联系的定义:设有两个实体集E1和E2,如果E1中的一个实体与E2中至多一个实体相联系,并且E2中的一个实体与E1中至多一个实体相联系,则称E1和E2是1:1联系。注意

1:1不是一一对应,“至多”可能一个都不联系如“职工”与“部门”之间的“管理”联系:职工部门管理11张三李四王五周六财务处人事处车队宿管科开封大学信息工程学院两个实体集之间的联系:1:n一对多联系:若E1中的一个实体与E2中的n(n≥0)个实体相联系,并且E2中的一个实体与E1中至多一个实体相联系,则称E1和E2是1:n联系,或E2和E1是n:1联系。注意:n≥0,即“多”包括0个;“至多”的意思如“教师”和“学生”之间的“班主任”联系:教师学生班主任1n张奇李林周于STU1STU2STU3STU4STU5STU6STU7开封大学信息工程学院两个实体集之间的联系:m:n多对多联系:

E1中的一个实体与E2中n(n≥0)个实体相联系,并且E2中的一个实体与E1中m(m≥0)个实体相联系,则称E1和E2是m:n联系。注意:n≥0,m≥0如“学生”和“课程”之间的“选修”联系:学生课程选修mn张三李四王五周六C语言网站学电子学管理学开封大学信息工程学院

E-R方法---实体-联系方法E-R方法是美籍华人陈平山(P.P.S.Cen)于1976年提出来的。E-R方法用E-R图表示概念模型,宏观上指出“实体型”的属性组成,“实体型”之间的联系,然后注明联系方式,简单地表示实体及实体间的联系情况。E-R方法描述的概念模型也称E-R模型。本节仅介绍E-R图的要点。三、概念模型的表示方法:E-R图E-R方法的图形表示实体型:

用矩形表示,矩形框内写明实体名概念模型的表示方法:E-R图属性:用椭圆形表示,框内写明属性名用无向边将其与相应的实体型连接起来联系:用菱形表示,框内写明联系名称并用无向边分别与有关实体型连接起来同时在无向边旁标上联系的类型:1:1,1:n,m:n实体名1实体名2属性名1属性名1联系名m1nn11E-R图示例。三个实体:学院、教师、学生;每个实体都有相应的属性;一个学院可以聘用多个教师,学院和教师是一对多关系一个教师可以给多名学生上课,教师和学生是一对多关系,E-R图例1:学院、教师、学生三实体间关系用矩形表示实体集,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与联系的实体用线段连接联系的类型码属性用下划线标明1学生教师上课姓名职称学院聘用编号名称姓名学号性别教师编号m1mE-R图例2:学生选修课程联系的属性学生课程选修姓名学号系别课程名先修课学分成绩mn开封大学信息工程学院E-R方法用图形表示了实体、属性、实体之间的联系方式E-R图中的实体、联系、属性三个部分缺一不可;如果E-R图很复杂,则可将属性部分另图表示。每个部分都要命名,并且要用不同的名字;同一张E-R图中的实体型、联系类型一定要不同名,而不同实体型和联系的属性命名可以相同。联系方式的表示完全是人为规定的,还有其他表示方法画E-R图前先要根据现实世界应用的实际背景定义实体、属性及实体间的联系。画E-R图注意事项:开封大学信息工程学院1.3.2概念结构设计的任务及其工作

概念结构设计是整个数据库设计的关键,该阶段通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。概念模型一般用E-R图表示设计E-R模型应遵循以下原则

根据单个应用的需求,画出能反映每一应用的局部E-R图。将局部E-R图合并起来,得出系统总体的E-R图开封大学信息工程学院实体及其属性建筑:建筑名称、建筑号、层数、房间数、建筑时间、建筑图片房间:所属建筑、类型、所在层、门牌号、面积部门:部门名称、部门性质、联系电话物品:类别、设备名称、分类号、单价、型号、规格、金额1.3.3开封大学总务综合信息管理系统的

概念结构设计

开封大学信息工程学院实体之间的联系如下:

(1)一个建筑由多个房间组成,一个房间只能属于一个建筑,因此建筑和房间存在一对多关系。(2)一个部门可以分配多个房间,一个房间同时只能分配给一个部门使用,因此部门和房间存在一对多关系。(3)一个房间可以放多种物品,一种物品可以放在多个房间中,因此房间与物品存在多对多的关系。开封大学信息工程学院开封大学总务综合信息管理系统”局部E-R模型图1-6“开封大学总务综合信息管理系统”的局部E-R模型开封大学信息工程学院图1-7“开封大学总务综合信息管理系统”的整体E-R模型开封大学总务综合信息管理系统”整体E-R模型开封大学信息工程学院1.4开封大学数据库设计之三--逻辑结构设计开封大学信息工程学院逻辑结构设计理论基础逻辑结构设计的任务及其工作开封大学总务综合信息管理系统数据库逻辑结构设计1.4SQLServer数据库设计之三--逻辑结构设计1.4.1逻辑结构设计理论基础

逻辑数据模型简称数据模型,是对现实世界的第二层抽象,主要用于DBMS的实现。数据模型包括层次模型、网状模型、关系模型,它们之间的根本区别在于数据之间联系的表示方式不同。开封大学信息工程学院一、关系数据模型的基本术语关系模型是目前最重要的一种数据模型,是完全不同于其它模型的一种新的数据模型。关系模型的基本数据结构是二维表。关系数据库采用关系模型作为数据的组织方式。1.关系数据模型开封大学信息工程学院EdgarF.Codd博士---关系数据库之父美国工程院院士英国人,1923生于英格兰中部波特兰第二次世界大战时应征入伍,在皇家空军服役。1942-1945年间任机长,参与了许多惊心动魄的空战英国牛津大学数学专业理学学士及硕士学位,毕业后到IBM公司工作从事操作系统和自动机理论研究年近40重返密歇根大学进修计算机与通信专业,1963年获得硕士学位,1965年又获得博士学位。60年代后期开始数据库研究,1970年E.F.Codd博士提出关系模型概念(CACM,Vol13,vol6,1970)1981年获得图灵奖,84年从IBM退休还创办了一个研究所,关系研究所(TheRelationalInstitute)和一个公司,Codd&Assoclations,进行关系数据库产品的研发、销售、咨询等业务2.基本术语

关系(Relation):

理解为二维表元组(Tuple):

二维表的行属性(Attribute):

二维表的列主键/关键字,也称为码(Key):

可以唯一确定一个元组的属性组域(Domain):

属性的取值范围分量:

元组中的一个属性值关系模式:

对关系的描述,关系框架,二维表表头关系名(属性名1,属性名2,……,属性名n)开封大学信息工程学院关系模型:简例部门关系模式---部门二维表格:部门(编号,部门名称,部门性质,联系电话)属性元组部门关系主码分量即属性值关系的每个分量必须是一个不可分的数据项,不允许大表套小表编号部门名称部门性质联系电话1101总务处教辅科研服务机构0378-35060021106老干部处党群组织机构0378-35060121107组织部党群组织机构0378-35060032101后勤中心行政管理机封大学信息工程学院关系模型的基本术语外键如果一个关系R中的某个属性或属性组F并非该关系的关键字,但它和另外一个关系S的关键字K相对应,则称F为关系R的外键,同时要求外键F的值要参照关系S中主键K的值。外键用于实现表间关联房间编号建筑编号…….建筑编号建筑名称…….房间关系建筑关系参照关系外键主键主键开封大学信息工程学院实体及联系都用关系表示:示例学生课程选修姓名学号系别课号课名学分分数mn关系模式:学生(学号,姓名,系别)---对应学生实体关系模式:课程(课号,课名,学分)---对应课程实体关系模式:选修(学号,课号,分数)---对应选修联系开封大学信息工程学院关系数据库:示例学生关系学号姓名出生系别101袁敏80-2-3机电102李强81-6-8化工103张伟80-8-9外语104孙正81-5-1中文课号课名学分1011C语言81012数据结构81013微机原理71013VB6课程关系选修关系学号课号分数101101179101101289101101364102101174102101286102101382开封大学信息工程学院数据结构——关系关系操作

关系完整性约束

二、关系数据模型的三要素开封大学信息工程学院(1)数据结构——关系实体及实体之间的联系都用二维表(关系)来表示二维表(关系)以文件形式存储

二、关系数据模型的三要素开封大学信息工程学院(2)关系操作:操作类型:数据查询:选择、投影、连接、除、并、交、差数据更新:查询、插入、删除、修改。操作对象和结果:都是关系(二维表,元组的集合)非过程化的数据操作,用户只要指出“做什么”,无须详细说明“怎么做”,提高了数据独立性。(3)关系完整性约束实体完整性参照完整性域的完整性二、关系数据模型的三要素开封大学信息工程学院三、关系模型的规范化关系模型的规范化理论是研究如何将一个不好的关系模型转化为一个好的关系模型的理论,它是围绕范式而建立的根据满足规范的条件不同,可以化分为五个等级

:第一规范化形式1NF第二规范化形式2NF第三规范化形式3NF第四规范化形式4NF第五规范化形式5NF开封大学信息工程学院1.第一规范化形式1NF

第一规范化形式简称第一范式:在一个关系(数据表)中没有重复的数据项,每个属性都是不可分割的最小数据元素。即每列的列名(字段名)都是惟一的,一个关系中不允许有两个相同的属性名,同一列的数据具有相同的数据类型,列的顺序交换后不能改变关系的实际意义。开封大学信息工程学院【例】将表1-1修改为满足第一范式。表1-1房间号建筑面积所在楼层类型建筑号名称面积类型修改为房间号建筑号建筑名称占地面积建筑类型房间面积所在楼层房间类型表1-2开封大学信息工程学院2、第二规范化形式2NF

第二规范化形式简称第二范式:在已满足1NF的关系中,一行(数据元组、记录)中所有非关键字数据元素都完全依赖于关键字(记录惟一)。即一个关系中不允许有两个相同的实体,行的顺序交换后不能改变数据表的实际意义。关键字:也叫关键字段或主键,是所有数据都是惟一不重复的字段或字段的组合。

第二范式就是数据表中没有相同的行,通过关键字使记录惟一。不满足2NF的数据表,将导致数据插入或删除的异常,稍有不慎会使数据不一致,规范化的数据表都必须满足2NF。开封大学信息工程学院【实例练习1-2】根据第二范式的要求,修改表1-3“房间表”使其满足第二范式。表1-3房间号建筑号建筑名称占地面积建筑类型房间面积所在楼层房间类型解决方法:增加一列“序号”作为该表的关键字

表1-4序号房间号建筑号建筑名称占地面积建筑类型房间面积所在楼层房间类型开封大学信息工程学院3、第三规范化形式3NF第三规范化形式简称第三范式:在已满足2NF的关系中,不存在传递依赖于关键字的数据项。传递依赖:某些列的数据不是直接依赖于关键字,而是通过某个非关键字间接的依赖于关键字。简单说第三范式就是表中没有间接依赖关键字的数据项。实现第三范式的方法就是将不依赖关键字的列删除,单独创建一个数据表存储。规范化的数据库应尽量满足3NF,一个满足3NF的数据库将有效地减少数据冗余。注意:三个范式不是独立的,3NF包含2NF,2NF又包含1NF。开封大学信息工程学院【实例练习1-3】根据第三范式的要求,修改表1-5“房间表”使其满足第三范式。房间号建筑号建筑名称占地面积建筑类型房间面积所在楼层房间类型建筑ID建筑号建筑名称占地面积建筑类型建成时间图片表1-7序号房间号建筑ID房间名称所在楼层房间类型表1-6表1-5解决方法:拆成两张表,表1-6和表1-7开封大学信息工程学院【实例练习1-4】根据数据规范化原则,将W关系规范到第三范式。W(日期,工号,姓名,工种,定额,超额,车间,车间主任)开封大学信息工程学院1.4.2逻辑结构设计的任务及其工作逻辑结构设计的任务是把概念模型转换成DBMS支持的数据模型并对该模型进行优化。1.一对一关系向关系模式的转化(1)转换为一个独立的关系(2)与任意一端实体对应的关系合并E-R图向关系模式的转化开封大学信息工程学院2.一对多关系向关系模式的转化

(1)转换为一个独立的关系

(2)与N端实体对应的关系合并

E-R图向关系模式的转化开封大学信息工程学院3.多对多联系向关系模式的转化一个M∶N联系要转换为一个独立的关系。关系的属性为与该联系相连的各实体的主键以及联系本身的属性,关系的主键为各实体主键的组合。用E-R模型转换得到的关系模型不一定是最优的,需要利用关系规范化理论进行进一步的规范化设计,使之符合DBMS的要求。E-R图向关系模式的转化开封大学信息工程学院1.4.3开封大学总务综合信息管理系统数据库

逻辑结构设计

1.全校建筑设施的“建筑表”建筑号建筑名称建筑类型占地面积房间数建成时间图片建筑描述其中:“建筑类型”可把学校的建筑分为两大类,宿舍和非宿舍建筑。房间数不用手工输入,可以根据房间表中登记的房间记录数自动计算出来

表1-82.校内“部门表”

表1-9部门号部门名称部门性质联系电话开封大学信息工程学院3.所有房间的“房间表”表1-10门牌号建筑ID房间面积所在楼层房间类型开封大学信息工程学院4.部门房间分配情况的“房间分配表”表1-11门牌号建筑ID部门名联系电话房间名称分配时间开封大学信息工程学院5.部门房间的“物品登记表”表1-12门牌号建筑ID部门物品编号物品名称分类号型号规格单价数量金额负责人其中金额的值不用手功输入,由数据库自动计算。开封大学信息工程学院【实例练习1-5】开封大学总务综合信息管理数据库的规范化设计。分析发现表1-11“房间分配表”还不满足第三范式:表1-13门牌号建筑ID部门号联系电话房间名称分配时间进一步规范化后形成表1-13满足第三范式开封大学信息工程学院开封大学信息工程学院1.5数据库设计过程之四—数据库实现数据库实现的理论基础数据库实现的任务及其工作“开封大学总务综合信息管理系统”的数据库实现1.5数据库设计过程之四—数据库实现1.5.1数据库实现的理论基础

1.数据完整性实体完整性参照完整性域完整性用户自定义完整性开封大学信息工程学院(1)实体完整性

实体完整性是指数据表中的所有行都是惟一的确定的,所有记录都是可以区分的(满足2NF)。实体完整性规则规定了表中的主键值惟一,所有主要属性都不能取空值。例如,在“部门表”中,“部门号”可以作为主键,同时“部门号、部门名称、部门性质、联系电话”都不能取空值才能保证每个“部门”实体的完整性。开封大学信息工程学院(2)参照完整性参照完整性用于确保相联系的表间的数据保持一致,避免因一个表的记录修改,造成另一个表的内容变为无效的值。参照完整性通过外键实现当一个表中的某列数据(外键)依赖并引用另一个表中的某列数据时,这两个表之间的相关数据必须保持一致性。房间编号(主键)建筑编号(外键)…….建筑编号(主键)建筑名称…….房间关系(从表或子表)建筑关系(主表或父表)参照关系(主从表数据一致)开封大学信息工程学院(3)域完整性

域完整性是指表中每列的数据具有正确的数据类型、格式和有效的取值范围,保证数据的正确性。例如:房间关系:房间的状态只能取值为“未分配”或“已分配”;物品登记关系:物品的数量只能是数字字符;建筑关系:房间数只能是大于0的正整数。开封大学信息工程学院(4)用户自定义完整性

用户自定义完整性指数据使用者根据实际需要自行定义的数据完整性开封大学信息工程学院2.约束(1)主键约束(Primarykey)(2)惟一约束(Unique)(3)外键约束(Foreignkey)(4)检查约束(Check)(5)默认值约束(Default)(6)空值约束(NULL)SQLServer提供了6种约束

开封大学信息工程学院(1)主键约束(Primarykey)

设置主键约束的字段称为关键字段,主键值是记录的惟一标识,主键约束可以保证数据的实体完整性,使表中的记录是惟一可区分和确定的(满足2NF)。规范化的数据库每个表都必须设置主键约束,主键有以下特点和限制:主键的字段值必须是惟一的,不允许重复。主键的字段值必须是确定的,不允许为空。

一个表只能定义一个主键,主键可以是单一字段,也可以是多个字段的组合,用多个列的组合作主键时每个列上的数据都可以重复,但其组合值不允许重复。Text、Ntext和Image类型的字段不能做主键。不论输入数据的顺序如何,数据表将按记录的主键值从小到大进行物理升序排序。开封大学信息工程学院(2)惟一约束(Unique)

惟一约束可以指定一列数据或几列数据的组合值在数据表中是惟一不能重复的。惟一约束用于保证主键以外的字段值不能重复,用以保证数据的实体完整性,但惟一约束的字段不是主键,其区别是:一个表可以定义多个惟一约束,而主键约束只能定义一个定义为惟一约束的字段可以允许为空值(只能有一个),而主键约束的字段不允许为空值;记录按主键值的指定顺序存储,而惟一约束的字段值不改变记录的物理位置,仅仅保证该字段的值不重复。例如“房间分配表”中指定“分配ID”为主键,还需保证“房间ID”字段的值不能重复,则可以设置为惟一约束。开封大学信息工程学院(3)外键约束(Foreignkey)

如果一个表中某个字段的数据只能取另一个表中某个字段值之一,则必须为该字段设置外键约束,设置外键约束字段的表称为子表,它所引用的表称为父表。外键约束可以使一个数据库中的多个数据表之间建立关联,外键的取值必须是被引用表中主键的值,通过外键约束可以使父表与子表建立一对多的逻辑关系。外键约束可以保证数据的参照完整性和域完整性。外键可以是单一字段,也可以是多个字段的组合。外键所引用父表中的字段必须是创建了主键约束或惟一约束的列。外键允许空值,可以有重复值,但必须是父表引用列中的数据之一,也就是说父表中没有的数据子表不可以添加。子表中外键字段添加的新数据,必须先在父表中添加,再在子表中添加子表中引用父表数据的记录未删除,则父表中被引用的数据不能被删除开封大学信息工程学院(4)检查约束(Check)

检查约束是用指定的条件(逻辑表达式)检查限制输入数据的取值范围是否正确,用以保证数据的参照完整性和域完整性。例如:“建筑表”的“房间数”只能使用数字;“部门表”中的“联系电话”只能使用数字与“-”号;“建筑表”的“类型”只能取值为“宿舍”或“其他”;“物品登记表中的”的“数量”和“单价”必须大于0。开封大学信息工程学院(5)默认值约束(Default)

默认值约束是给某个字段绑定一个默认的初始值(可以是常量、表达式或系统内置函数),输入记录时若没有给出该字段的数据,则自动填入默认值以保证数据的域完整性。对于事先不知道数据或需要自动计算产生数据但又不允许为空的字段,使用默认值约束尤其方便并提高效率。对设置了默认值约束的字段若输入数据时则以输入的数据为准例如“物品登记表”中的:“金额”在创建数据库初期是没有数据的,在系统运行时能自动计算,可以设置默认值为0;“登记日期”可用系统当前的日期设置默认值。开封大学信息工程学院(6)空值约束(NULL)

空值NULL是不知道或不能确定的特殊数据,不等同于数值0和字符的空格。空值约束就是设置某个字段是否允许为空,用以保证数据的实体完整性和域完整性性。必须有确定值的字段(尤其是数值字段)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论