版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与应用主编:第一章 数据库应用基础 学籍管理系统案例分析学习目标:了解数据库系统的基础知识能根据用户要求实施系统需求分析能根据系统需求分析搭建关系模型积累职业素质培养团队合作精神和语言表达能力任务的提出 新学期开始了,学生晓灵被班主任良老师叫到了办公室。良老师说:“晓灵呀!咱们班的同学学习计算机知识有一段时间了。你作为咱们班的班长能不能利用所学到的计算机知识开发一个软件来管理咱们班的学生信息。这样一来,你既提高了专业知识水平和解决实际问题的能力,也更好地管理这咱们班,为同学提供更好地服务!如果这个软件做得好,我们还可以推广到整个年级、整个系乃至整个学院。”晓灵说:“做这个软件非常有意
2、义,我非常愿意做这釿事。但就凭我目前所掌握的那点计算机知识来做这件事难度很大。”需考虑的问题要想实现这样的一个系统,你首先应该考虑好以下几个问题:第一,要确定这个系统的使用者,及其操作计算机的水平、能力和素质。第二,要确定系统的用户对系统功能要求并且这些功能是否允许分期实现,从而确定系统的边界。第三,确定系统的使用环境和运行环境。如系统是运行在单机上还是运行在网络中?系统可能在哪些操作系统上运行?第四,系统用户对系统的性能、稳定性有哪些要求?” 1.2 数据库系统概述 1.数据库系统的概念:数据、数据库、数据库管理系统、数据库系统 2.数据库系统的发展相关知识点1.2.1 数据库系统的概念 1
3、数据(DATA)数据是指存储在某一种媒体上能够识别的物理符号。数据的概念包括两个方面:其一是描述事物特性的数据内容;其二是存储在某一种媒体上的数据形式。 2数据库(DataBase,简称DB) 数据库指长期存储在计算机内有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。 3数据处理 数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机技术科学地保存和管理复杂的、大量的数据
4、,以便人们能够方便而充分地利用这些宝贵的信息资源 4数据库技术 数据库技术是研究数据库结构、存储、设计、管理和使用的一门软件科学。数据库技术是使数据能按一定格式组织、描述和存储,且具有较小的冗余度,较高的数据独立性和易扩展性,并可为多个用户所共享的技术。 5数据库管理系统(Data Base Management System,DBMS)数据库管理系统指位于用户与操作系统之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复,它的职能是有效
5、地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求 6数据库系统(DataBaseSystem,简称DBS)数据库系统指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。最终用户专业用户数据库管理员各系统间的关系图1.2.2 数据库系统的发展第一代:层次和网状数据库系统第二代:关系数据库系统第三代:以面向对象数据模型为主要特征的数据库系统1.3 信息描述与数据模型 所谓信息是客观事物在人类头脑中的反映。人们可以从现实世界中获得各种各样的信息,从而了解世界并且相互交流。但是信息的多样化特性使得人们在描述和管
6、理这些数据时往往力不从心,因此人们把表示事物的主要特征抽象地用一种形式化的描述表示出来,模型方法就是这种抽象的一种表示。信息领域中采用的模型通常称为数据模型。 根据模型应用的不同目的,可以将模型分为两类或者说两个层次:一是概念数据模型(也称信息模型),是按用户的观点来对数据和信息建模;一是逻辑数据模型(如网状、层次、关系模型),是按计算机系统的观点对数据建模 1.3.1 数据模型及其三要素数据结构数据结构是对系统静态特性的描述。 数据操作数据操作是指对数据库中各种对象实例所允许执行操作的集合,包括操作和有关的操作的规则。 数据的完整性约束数据的约束条件是完整性规则的集合,用以限定符合数据模型的
7、数据库状态以及状态的变化,以保证数据的正确、有效和相容。 1.3.2 数据模型的分类概念数据模型逻辑数据模型物理数据模型1.3.3概念模型及其表示方法概念模型是对现实世界的抽象反映,它不依赖于具体的计算机系统,是现实世界到数据世界的一个中间层次, 如图1.1所示。转换认识抽象信息世界 概念模型数据世界DBMS支持的数据模型现实世界图1.1 数据抽象过程图1.信息实体的概念实体:实体是客观存在并可相互区分的事物。属性:属性是实体所具有的特性。一个实体可以由若干个属性来描述。键:能够惟一标识实体的属性集称为键,也叫关键字。实体集:具有相同属性的实体的集合称为实体集。联系:现实世界中事物之间的联系必
8、然要在信息世界中加以反映。包括两类联系:一个是实体内部的联系,是指实体各个属性之间的联系;一个是实体之间的联系。2.实体间的联系一对一的联系(1:1):如果实体集E1中的每一个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1与E2的联系称为“一对一联系”记为1:1。例如,每个学生都有一个学号,每位学生和学号之间具有一对一联系。一对多联系(1:M):如果实体集E1中的每个实体可以与实体集E2中的任意个(零个或多个)实体间有联系;而实体集E2中的每个实体至多与实体集E1中一个实体有联系,那么称实体集E1与实体集E2的联系是“一对多联系”,记为1:M。例如,一个班级内有多名学生,而一
9、名学生只属于一个班。班级与学生之间具有一对多联系。多对多联系(M: N)。如果实体集E1中的每个实体可以与实体集E2中的任意个(零个或多个)实体间有联系,反之亦然,那么称E1与E2具有多对多联系,记为M: N。例如,学生在选课时,一个学生可以选修多门课程,一门课程也可以被多名学生选修,则学生和课程之间具有M: N联系3.E-R模型模型,特别是具体的实物模型,人们并不陌生。例如,一张地图、一组建筑设计沙盘、一架精致的航模飞机,都是具体的模型。一眼望去,就会使人联想到真实生活中的事物。模型是现实世界特征的模拟和抽象。要将现实世界转变为机器能够识别的形式,必须经过两次抽象,即使用某种概念模型为客观事
10、物建立概念级的模型,将现实世界抽象为信息世界,然后再把概念模型转变为计算机上某一DBMS支持的数据模型,将信息世界转变为机器世界概念模型的表示方法很多,其中最为著名、最为常用的是PPSChen于1976年提出的实体联系方法(Entity-RelationshipAprroach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R概念模型。 实体联系图(ER图)是抽象描述现实世界的有力工具。它通过画图将实体以及实体间的联系刻画出来,为客观事物建立概念模型。下面以某学校计算机系的教学管理为例,说明实体联系图的建立方法。E-R图表示方法E-R图设计案例为了简单起见,假设该计算机系教学
11、管理所涉及的实体有:1)教师。属性有教师号、姓名、性别、年龄、职称、专业,其中教师号是码。2)学生。属性有学号、姓名、性别、年龄、籍贯、专业,其中学号是码。3)课程。属性有课程号、课程名、学时数、学分、教材,其中课程号是码。假设这些实体之间存在如下联系:1)一个教师可以讲授多门课程,一门课程可以被多位教师讲授,即教师和课程之间是多对多的联系。该联系也可以表示为一个实体,这里将教师与课程之间的联系命名为授课,假设其属性有教师号和课程号,它们分别是教师实体和课程实体各自的码。2)一个学生可以选修多门课程,一门课程可以被多位学生选修,即学生和课程之间是多对多的联系。这里将学生与课程之间的联系命名为选
12、课,该联系也可以表示为一个实体。假设其属性有学号、课程号和成绩。学号和课程号组成码。其中学号和课程号分别是学生实体和课程实体各自的码,成绩是该联系特有的属性。 3)在某个时间和地点,一位教师可指导多位学生,但每个学生在某个时间和地点只能被一位教师指导,即教师和学生之间是一对多的联系。这里把教师和学生之间的联系命名为指导,其属性有教师号、时间和地点等E-R图设计规定在E-R图中规定:1)用长方形表示实体,在框内写上实体名。2)用椭圆形表示实体的属性,并用线段把实体与其属性连接起来。3)用菱形表示实体之间的联系,菱形内写上联系名。用线段把菱形与有关的实体连接,在线段旁标上联系的类型。若实体之间的联
13、系也有属性(实体以外的属性),则把属性和菱形也用线段连接起来教师实体图学生实体图课程实体图实体联系图 关系模型是用规范的二维表结构来表示实体以及实体间联系的模型,由关系数据结构、关系操作集合和关系完整性规则三部分组成。关系数据结构就是由一组关系结构组成的集合, 1.4关系模型与关系数据库1.关系模型的数据结构关系模型的数据结构由规范的二维表结构组成。在关系模型中,将规范的二维表称为关系。每个关系由关系名、关系结构和关系实例组成,对应规范的二维表中的表名、表框架(表头)和表中的行。一个规范的二维表由行和列组成,除第一行(表头)以外,表的每一行称为一个记录(或称为元组);表中的每一列称为一个字段(
14、或称为属性),每个字段有字段名、字段数据类型和宽度,字段的取值范围称为值域。表头的各列给出了各个字段的名字 2.表(关系)的性质关系模型要求关系数据库中的表必须具有如下性质:表中的每个字段值必须是一个值,不能是值的集合。字段必须是同质的,即同一字段的各个值应是同类型的数据。在同一个表中不能出现相同的字段名。表中不允许有完全相同的记录,即每行记录必须是唯一的。在一个表中记录的次序是任意的。在一个表中字段的次序是任意的。 3.超键、关系键、候选键和主键在表中能唯一标识记录的字段组合称为该表的超键。在表中能唯一标识记录且不包括多余字段的字段组合称为该表的关系键。当某些表中具有关系键特性的最小字段组合
15、有多个,即一个表中有多个关系键时,那么这些关系键都称为该表的候选键。为了唯一地标识表中的每一个记录,保证记录的唯一性,每个表都必须选择一个候选键作为主键。每个表只能有一个主键。对于任意一个表,主键一经选定,通常是不能随意改变的。主键也称为主关系键、键或主码。1.4.2 关系模式和关系数据库1关系模式 关系模式是对关系结构(表结构)的描述;关系则是关系模式在某一时刻存储的值,其值是动态的、随时间不断变化的。 在具体的关系数据库管理系统中,使用关系数据库管理系统提供的SQL 语言的CREATE TABLE语句来定义关系模式的名称、关系中的字段、字段类型、宽度、完整性约束等,将定义的语句称为该关系的
16、关系模式。为了便于讨论和描述,关系模式可以表示为: 关系名(字段名1,字段名2, ,字段名n ) 其中关系键用下画线标出,n是关系的目(也可称为度)。2关系数据库模式 关系数据库模式是对关系数据库结构的描述,是由一组关系模式组成的集合。一个关系数据库的结构对应一个具体的关系模型。上面给出的学生关系模型中STUDENT、COURSE和GRADE关系的结构的可用下面的一组关系模式表示: STUDENT(学号,姓名,年龄,性别,系名) COURSE(课程号,课程名,学时数,任课教师) GRADE(学号,课程号,成绩)1.4.3 关系的完整性规则 关系模型的完整性规则是用来约束关系的,以保证数据库中数
17、据的正确性和一致性。关系模型的完整性共有三类:实体完整性、参照完整性和用户定义的完整性。数据完整性由实体完整性和参照完整性规则来维护,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,由关系数据库管理系统自动支持 1. 实体完整性 实体完整性规则:若属性A是基本关系R的主键,则属性A不能取空值。对于实体完整性的说明如下: 一个基本关系对应着一个现实世界的实体集。 现实世界中的实体是可区分的,即他们具有某种惟一的标识。 关系模型中用主键作为惟一性标识。 主码不能取空值,因为主键取空值说明存在某个不可标识的实体,与第二点矛盾。2.参照完整性 在关系数据库中,关系之间的联系是通过公共属性实现
18、的。这个公共属性是一个表的主键和另一个表的外键。所谓外键是指若一个关系R中包含有另一个关系S的主键所对应的属性组F,则称F为R的外键。外键的值必须是另一个表的主键的有效值或是一个“空值”。3.用户自定义完整性 用户自定义的完整性则是针对某一具体数据库的约束条件,由应用环境决定,它反映了某一具体应用所涉及的数据必须满足的语义要求。如学习成绩的取值范围,用户一般会定义在0100之间。数据库管理系统应提供定义和检验这类完整性的机制,以便用统一的方法处理它们而不再由应用程序完成这一任务 1.5关系数据库规范化设计在关系数据库中,对于同一个问题,选用不同关系模式集合作为数据库模式,其性能的优劣是大不相同
19、的,某些数据库模式设计常常带来存储异常,这是不利于实际应用的。为了区分数据库模式的优劣,人们常常把数据库模式分为各种不同等级的范式(NormalForm)。 在关系规范化中,通常将关系分为5个级别,即5种范式。满足最低条件的称为第一范式,简称1NF。1NF是关系模式应满足的最起码的条件。在第一范式的基础上进一步满足一些要求的可升级为第二范式,其余依次类推。通常,若关系R是第X范式就写成RXNF。1.第一范式设R是一个关系模式,如果R中的每个属性都是不可分解的,则称R是第一范式,记为R1NF。第一范式要求不能表中套表,它是关系模式最基本的要求,数据库模式中的所有关系模式必须是第一范式。关于第一范
20、式这个问题,在前面曾经给过一个例子,这里再给出如图所示的选课关系SC1,以此说明非第一范式的弊病。第二范式如果关系模式R是第一范式,且每个非码属性都完全依赖于码属性,则称R是第二范式,记为R2NF。部分函数依赖关系是造成插入异常的原因。在第二范式中,不存在非码属性之间的部分函数依赖关系,即消除了部分函数依赖关系,因此第二范式解决了插入异常问题。第三范式如果关系模式R是第二范式,且没有一个非码属性传递依赖于码,则称R是第三范式,记为R3NF。传递函数依赖关系是造成删除异常的原因。第三范式消除了传递函数依赖部分,因此解决了数据的删除异常问题。一个关系模式达到3NF,基本解决了“异常”问题,但还不能
21、彻底解决数据冗余问题。因为3NF不能很好地处理模型中含有多个候选关键字和候选关键字是组合项的情况,因此需要更强的范式。1.6 数据库设计数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界中信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。 1.6.1 数据库的设计任务与内容数据库设计应包含两方面的内容:一是结构设计,也就是设计数据库框架或数据库结构;二是行为设计,即设计应用程序、事务处理等。 1.6.2 数据库的设计方法目
22、前常用的各种数据库设计方法都属于规范设计法,即都是运用软件工程的思想与方法,根据数据库设计的特点,提出了各种设计准则与设计规范。这种工程化的规范设计方法也是在目前技术条件下设计数据库最实用的方法。1.6.3 数据库设计步骤需求分析概念结构设计逻辑结构设计数据库物理设计数据库的实现数据库运行和维护1.6.4晓灵学生管理系统的设计数据库原理与应用第2章 数据库开发环境 SQL Server2000 的安装与配置学习目标:了解数据库系统软件的构成1了解对硬件及软件环境的需求2掌握软件的安装及注册方法3积累职业素质及团队精神4任务的提出为了设计实现晓灵学生管理系统,首先需要建立系统的设计与开发环境,然
23、后根据业主及用户的需要进行需求分析,提出系统的解决方案。第三,根据解决方案所确定的系统边界,对系统的功能进行设计。第四,根据所确定的功能组织数据,进行系统数据库的设计和实现。最后,再根据需要进行系统界面的设计。要做好上述的五步,前提是在计算机上安装和配置好SQL Server2000数据库管理系统 需考虑的问题要想成功的安装SQL 2000数据库管理系统,需要解决以下几个问题:了解SQL 2000数据库系统都有哪些版本? SQL 2000数据库管理系统各版本,对操作系统的要求有哪些?SQL 2000数据库管理系统各版本,对计算机配置都有哪些要求?硬件的要求是什么?软件环境又是什么?在安装SQL
24、 2000数据库管理系统过程中,需要注意和解决哪些问题?在安装SQL 2000数据库管理系统以后,如何验证安装是否成功?在安装SQL 2000数据库管理系统以后,需要如何配置SQL 2000数据库管理系统才能正常使用?相关知识点2.2 SQL Server2000系统安装前的准备2.2.1 SQL Server 数据库的发展阶段 1. 1987 Sybase SQL Server 2. 1988 SQL Server 4 3. 1996 SQL Server 6.5 4. 1998 SQL Server 7 5. 2000 SQL Server 2000 6. 2005 SQL Server
25、2005SQL Server的工作模式SQL Server采用客户/服务器体系结构,即中央服务器用来存储数据库,该服务器可以被多台客户机访问,数据库应用的处理过程分布在客户机和服务器上。客户机/服务器(Client/Server,C/S)体系结构的应用又被称作分布式计算机系统。该系统的数据处理不是在单个计算机上进行,而是把程序的不同部分在多台计算机上同时运行。它的最大好处是提高了数据处理和应用能力 2.2 选择安装版本1)MicrosoftSQLServer 2000的企业版可以用作一个产品数据库服务器,这种版本支持 Microsoft SQL Server 2000所有的功能,包括支持当前世
26、界上最大的Web站点、企业在线事务 处理(Online transaction processing,OLTP)和数据仓库。企业版是功能最齐全的数据库,支持 数十个TB字节的数据库,也是价格最昂贵的数据库系统。作为完整的数据库解决方案,企业 版应该是企业首选的数据产品。2)Microsoft SQL Server 2000的标准版可以用作一个部门或一个工作组的数据服务器,支持GB字节的数据库。虽然标准版不像企业版的功能那样齐全,但是它所具有的功能已经 能够满足普通企业的一般需求,这种版本是非常实用的一种数据库版本。如果考虑企业需要 处理的数据量和财政状况等原因,那么使用标准版本的数据库产品是一
27、种比较明智的选择?3)MicrosoftSQLServer 2000的个人版主要用于移动用户。这些移动用户的大量时间是与网络断开连接的,但是它们的业务需要LServer系统来存储它们大量的业务数据。另外,当只在某一个客户机上存储本地的数据时,也可以使用这种个人版。这种版本的产品为整天奔波忙碌的用户提供了恰当的数据库解决方案。 4)Microsoft SQL Server 2000的开发人员版主要用于数据库应用程序开发人员进行应用程序的开发,且需要使用Microsoft SQL Server 2000来存储数据。虽然,开发人员版支持企业版本的所有功能,支持开发人员使用这些功能来编写和测试应用程序
28、,但是开发人员版的注册方式只是用于开发和测试应用程序系统,而不是用作生产服务器。这种版本只适用于数据库应用程序开发人员,不适用于普通的数据库用户。5)Microsoft SQL Server 2000的桌面引擎只具有Microsoft SQL Server 2000的数据库引擎,可以用来完成数据库本身数据存储的一些功能。这种版本主要针对独立的软件厂商,即可以在它们的应用程序中打包进这种数据库管理系统。举例说明一下,桌面引擎就像是一台没有外包装的计算机,但是具有计算机处理数据的基本功能。这种版本的数据库产品主要是由各种中间厂商来使用,而最终用户可以借助于中间的软件产品来间接地使用SQL Serv
29、er 2000系统。6)Microsoft SQL Server 2000的Windows CE版主要用于在Microsoft Windows CE设备上存储数据。可以使用Microsoft SQL Server 2000的企业版和标准版来复制数据,使得Windows CE数据可以和主数据库中的数据同步化。例如,可以将这种版本的数据库产品嵌入到以Windows CE作为操作系统的商务通路中。7)Microsoft SQL Server 2000韵企业评估版是可以从微软网站上免费下载的一种数据库版本。这种版本主要用来测试Microsoft SQL Server 2000的功能。虽然这种企业评估版
30、具有Microsoft SQL Server 2000的所有功能,但是其运行时间只有120天。因此,使用这种版本时间过长就有可能给用户带来巨大损失,如数据的丢失等。虽然,对这种版本的分类似乎没有必要,但是这种版本的数据库产品确实存在。 通过上面的介绍可得出这样的结论:对于所有的用户来说,企业版、标准版和个人版是3种可以使用的数据库产品,而其他版本的数据库产品只是适用于一部分特殊的用户。有时候,为了简化,常常认为SQLServer2000有3种版本,即企业版、标准版和个人版。 SQL Server版本应 用企业版可作为正式环境(Production)数据库服务器,它支持 SQL Server 2
31、000 的所有功能,且提高执行效率,以支持最大的网站与企业线上交易处理(OLTP)以及数据仓储系统标准版可作为小型工作群组或部门的数据库服务器个人版由行动用户所使用,他们会有一些时间与网络离线,但执行需要SQL Server数据存储的应用程序;同时也用于执行需要在客户端计算机本地SQL Server 数据存储的独立应用程序开发版由开发以SQL Server 2000 作为数据存储的应用程序的程序设计者所使用。虽然开发版可支持企业版的所有功能,以便让开发者编写与测试可使用这些功能的应用程序,但是开发版只能许可作为开发与测试系统之用,而非营运服务器 2SOL Server 2000的运行环境在安装
32、SQL Server 2000时,一定要考虑以下几个方面的内容:1)保证计算机满足安装SQL Server 2000的需求。2)如果打算安装一个故障切换群集,必须在运行安装程序之前取消与任何网络的连接。3)如果在运行Microsoft Windows NT或Microsoft Windows 2000的计算机上安装SQL Server 2000,那么要事先设置一个或多个域用户账号,这样SQL Server 2000就可以和其他客户端和服务器进行通信。 4)以本地管理员权限的用户账号或恰当的域用户账号登录系统。 5)关闭所有与SQL Server有关的服务,包括任何使用ODBC的服务,例如Mic
33、rosoft Internet information Services(11S)。 6)关闭Microsoft Windows NT事件阅读器和文件Regedit.EXE或Regedit32EXE。2.1.2 安装SQL Server 2000的软硬件要求 1硬件要求 为了正确地安装Microsoft SQL Server2000或Microsoft SQL Server 2000客户端管理工具和库,满足Microsoft SQl Server 2000正常的运行要求,计算机的芯片、内存、硬盘空间等配备需要满足最低的硬件配置要求,这种最低的硬件要求见表21。硬件项目规格说明CPU处理速度在P
34、entium 166MHz以上的Intel或与之兼容的CPURAM至少64MB的内存空间;若是要安装企业版建议128MB或更多磁盘空间安装SQL Server 2000所占用的磁盘空间,会随着选择的安装组件而有所不同,范围约于95MB至270MB之间,若采用典型安装,需占用250MB的磁盘空间另外,安装Analysis Service与English Query需要额外的磁盘空间,安装Analysis Service至少需要50MB的空间,安装English Query需要80MB的磁盘空间显示器VGA或更高分辨率,SQL Server 图形工具要求 800600或更高分辨率。其它设备MS鼠标
35、或兼容设备、CD-ROM光盘驱动器、磁带驱动器等。 2软件要求软件要求包括对操作系统的要求和对浏览器的要求。对于不同的Microsoft SQL server 2000版本,所要求的操作系统也不一样。因此,了解系统对操作系统的要求,也是安装Microsoft SQL Server 2000不可缺少的知识。SQL Server版本操 作 系 统企业版Windows NT 4.0 Server,Windows 2000 Server,Advanced Server,Data Center Server标准版Windows NT 4.0 Server,Windows 2000 Server,Adva
36、nced Server,Data Center Server个人版Windows Me/98,Windows NT 4.0 Server,Windows 2000 Professional,Server,Advanced Server,Data Center Server开发版Windows NT 4.0,Windows 2000客户端工具Windows Me/98,Windows NT 4.0,Windows 2000连接工具Windows Me/98/95,Windows NT 4.0,Windows 2000数据库原理与应用 第3章 数据库的基本使用 数据库及表的创建学习目标:了解数据库
37、对象和表对象的作用能熟练创建和管理数据库对象能熟练创建和管理表对象积累职业素质培养团队合作精神和语言表达能力任务的提出为了实现晓灵学生管理系统,需要建立系统开发环境,这就必须要在计算机中使用SQLServer2000数据库系统软件创建一个符合需求的数据库,并且要在数据库中创建相关的表格来存储和管理数据。 需考虑的问题1. 数据库系统在计算机中的存储结构,数据库文件的构成2. 什么是系统数据库,系统数据库的功能3. 创建用户数据库前的考虑4. 创建用户数据库的方法5. 数据库都包含哪些对象,各个对象的功能6. 创建表对象的方法7. 管理和维护数据库及数据库对象的方法SQL Server2000数
38、据库架构数据库是SQL Server2000存放数据库对象的逻辑实体,是数据库服务器的主要组件,是数据库管理系统的核心。在使用数据库的时候,我们所使用的主要是逻辑组件,如表、视图、存储过程等,而其物理表现形式则是存储在某个磁盘路径下的操作系统文件。作为一名数据库管理员,在创建数据库之前,首先应理解数据库的各个组成部分及设计方法,以确保所设计的数据库在实现后,能够高效地运行。数据库架构图SQL Server2000数据库对象 SQL Server2000中有以下数据库对象:关系图(diagrams)表(table)视图(view)存储过程(stored procedures)用户(users)用
39、户自定义数据类型(user-defined data types)用户自定义函数(user-defined functions)规则(constraints)默认值(defaults) 数据库存储结构在前面已经讲过, SQL Server2000使用一组操作系统文件来存放数据库中的数据。这些操作系统文件有两种形式,一种是数据文件,一种是日志文件。其中数据文件又可分为主数据文件和次数据文件两种。 数据库物理存储结构数据的物理空间在文件之间的分配是通过簇按比例分配的。例如,如果文件data1有10m的存储空间,文件data2有20m的存储空间。当SQL Server2000进行空间分配时,为文件1
40、分配一个簇,为文件2分配两个簇。这样保证两个文件存储空间的使用平衡。而簇则由“页”构成,“页”是Microsoft SQL Server2000可管理的最小空间,每一个页的大小是8KB,即8192字节。在表中,每一行数据不能跨页存储。这样,表中每一行的字节数不能超过8192个字节。每8个连续页称为一个簇,即簇的大小是64KB。 系统数据库master数据库tempdb数据库model数据库msdb数据库 1使用CREATE DATABASE创建数据库CREATE DATABASE数据库名ON PRIMARY ,n FILEGROUP 文件组名 ,n LOG ON ,n FOR RESTORE
41、使用CREATE DATABASE创建数据库1. 创建简单数据库2. 创建单文件数据库3. 创建多文件数据库4.创建多文件组数据库【任务3.1】使用T-SQL语句按照要求创建qg_test数据库。USE masterGOCREATE DATABASE qg_testON ( NAME = qg_testdat, FILENAME = c:program filesmicrosoft sql servermssqldatatest.mdf, SIZE = 10, MAXSIZE = 100, FILEGROWTH = 10 )GO【任务3.2】使用T-SQL语句创建sales数据库。USE ma
42、sterGOCREATE DATABASE SalesON ( NAME = Sales_dat, FILENAME = c:program filesmicrosoft sql servermssqldatasaledat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )LOG ON( NAME = Sales_log, FILENAME = c:program filesmicrosoft sql servermssqldatasalelog.ldf, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )G
43、O【任务3.3】使用T-SQL语句创建Archive数据库。USE masterGOCREATE DATABASE Archive ONPRIMARY ( NAME = Arch1, FILENAME = c:program filesmicrosoft sql servermssqldataarchdat1.mdf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20),( NAME = Arch2, FILENAME = c:program filesmicrosoft sql servermssqldataarchdat2.ndf, SIZE = 1
44、00MB, MAXSIZE = 200, FILEGROWTH = 20),( NAME = Arch3, FILENAME = c:program filesmicrosoft sql servermssqldataarchdat3.ndf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20)LOG ON ( NAME = Archlog1, FILENAME = c:program filesmicrosoft sql servermssqldataarchlog1.ldf, SIZE = 100MB, MAXSIZE = 200, FILEGROW
45、TH = 20),( NAME = Archlog2, FILENAME = c:program filesmicrosoft sql servermssqldataarchlog2.ldf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20)GO使用ALTER DATABASE修改数据库 ALTER DATABASE 数据库名 ADD FILE ,n TO FILEGROUP 文件组名 | ADD LOG FILE ,n | REMOVE FILE 逻辑文件名 | ADD FILEGROUP 文件组名 | REMOVE FILEGROUP 文件组名 |
46、 MODIFY FILE | MODIFY NAME =新数据库名 | MODIFY FILEGROUP 文件组名 | NAME=新文件组名使用ALTER DATABASE修改数据库1.增加数据库文件、日志文件和文件组2.删除数据库文件、日志文件和文件组3.修改数据库、文件和文件组的属性使用DROP DATABASE删除数据库 语法格式: DROP DATABASE 数据库名,n 该命令可以从SQL Server 中一次删除个或几个数据库。例:删除数据库 abc drop database abc 表功能介绍 创建用户数据库后,我们还无法将数据保存在数据库中,还必须在数据库中创建用来存放数据的
47、“容器”,这个“容器”就是表。表是数据库中最重要的对象,是用来存储数据和操纵数据的逻辑结构。对数据库的各种管理和操纵,实际上就是对数据库中表的管理和操纵。 表的组成在数据模型中,一张表代表一个实体,实体名即为表名。例如:在晓灵学生管理系统中有一个教师信息表,它表示所有教师的基本信息都存储在该表中。表由行和列组成。在关系数据模型中,行也被称为记录或元组,列也被称为字段或属性。每一行都是这个实体的一个完整描述,每个列都是对该实体的一种属性的描述。 数据类型现实世界是一个多样化的世界,现实世界的信息是多种多样的,所以描述信息的数据也应该是多种多样的。在定义表中的列时,每一个列都要有一个与之相关的特定
48、的数据类型,用来准确的表示信息的类别。例如,教师的姓名可以用字符型(char,varchar)来表示,出生日期可以用日期型(datetime)来表示,如果为了表示单价可以用货币型(money)来表示等等 SQL Server 2000提供的系统数据类型 类 型名称取值范围长度数字型bigint-263 (-9223372036854775808) 到263-1 (9223372036854775807)8个字节int-231 (-2147483648) 到231-1 (24147483647)4个字节smallint-215 (-32768) 到213-1 (32767)2个字节tinyint
49、0-2551个字节Decimal (p,s)Numeric (p,s)P为精度(1=p=38)S为小数点后位数(0=s=p)38位数字字符型Char(n)存放固定长度的n个字符 1=n=8000最大8000个字符Varchar(n)存放可变长度的n个字符1=n=8000最大8000个字符货币型money-263到263货币数据,小数点后保留4位8个字节Smallmoney-214748.3648-214748.36474个字节日期型Datetime1/1/1753 到 12/31/99998个字节smalldatetime1/1/1900 到 12/31/20794个字节位 型bit1或0的整
50、数数据1位使用CREATE TABLE创建表 CREATE TABLE 数据库名. 表所有者. 表名( | | ,n ) ON | 文件组名 | DEFULT | 【任务3.11】创建一个职工表,该表结构如下 列 名数据类型约束要求职工编号int主键职工姓名Varchar(20) 不允许空性别Char(2)默认值“男”年龄 Tinyint不允许空CREATE TABLE 职工表 (职工编号 int primay key, 职工姓名 varchar(20) not null , 性别 char(2) default 男, 年龄 tinyint not null )【任务3.12】创建含有计算列的
51、表 CREATE TABLE mytable ( col_1 int , col_2 int , col_3 as col_1+col_2)【任务3.13】创建含有标识列的表 CREATE TABLE 订单表 ( 订单编号 int ideneity(1,1) primary key, 商品名 varchar(20) not null , 数量 int )【任务3.14】创建具有检查约束的表,表结构如下: 列 名数据类型约束要求学号int 主键学生姓名Varchar(20) 不允许空性别Char(2)只能输入“男”或“女”默认为“男”年龄Tinyint值小于100联系电话Varchar(11)设
52、置唯一性约束CREATE TABLE 学生表( 学号 int primay key, 学生姓名 varchar(20) not null , 性别 char(2) default 男 check (性别=“男” or 性别=“女”), 年龄 tinyint not null check(年龄0 并且成绩0 and 成绩100) Constraint pk_cj primary key (学号,课程号) constraint fk_cj foreign key(课程号)references kc(课程号)使用ALTER TABLE修改表 ALTER TABLE 表名 ADD ,n | WITH
53、CHECK | WITH NOCHECK ADD ,n | DROP COLUMN 列名 | CONSTRAINT 约束名 ,n | ALTER COLUMN 列名 新数据类型 ( 数据宽度 ,新小数位数 ) NULL | NO NULL | CHECK | NOCHECK CONSTRAINT ALL | 约束名 ,n 使用ALTER TABLE修改表 1增加列2增加约束3删除约束4删除列5修改列6启动或暂停约束使用DROP TABLE删除表 DROP TABLE 表名,n 使用企业管理器实现数据库的创建、修改和删除 1创建数据库2修改数据库3删除数据库创建数据库创建数据库创建数据库修改数据
54、库使用企业管理器实现表的创建、修改和删除 1创建表2修改表3删除表创建表在Enterprise Manager 中创建表按以下步骤进行:(1) 在要创建表的数据库中选择“Tables” 对象后,单击右键,从快捷菜单中选择“New Table” 选项,或在工具栏中选择图标 ,即会出现如图7-1 所示的定义列对话框。在此可以是设定表的列名、数据类型、精度、缺省值等属性。创建表创建表修改表在Enterprise Manager 中选择要进行改动的表,单击右键,从快捷菜单中选择“DesignTable”选项,则会出现如图7-4 所示的修改表结构对话框。可以在图7-4 所示的对话框中修改列的数据类型、名
55、称等属性或添加、删除列,也可以指定表的主关键字约束。单击工具栏中的图标 ,出现如图7-5 所示的编辑表和约束的属性的对话框。可以在其中编辑各种约束和一些表的属性。 修改表修改表删除表在Enterprise Manager 中用右键单击要删除的表从快捷菜单中选择“删除(Delete)” 选项,则会出现如图7-9 所示的删除对象对话框,单击“Drop All”按钮,即可以删除表。单击“Show Dependencies”按钮,即会出现如图7-10 所示的对话框。它列出了表所依靠的对象和依赖于表的对象。当有对象依赖于表时,就不能删除表。删除表删除表数据库原理与应用数据库的基本管理 -学生信息的更新与
56、查询学习目标: 熟练掌握简单查询数据的方法2 培养团队协作精神、语言表达能力4熟练掌握向表中添加、删除、修改数据的方法31 培养职业素质33任务的提出在本章,我们将在上一章实现的晓灵学生管理系统数据库和各基本表的基础上,输入各相关数据。在输入的过程中,讲解数据的插入、删除与修改的各种方法。最后我们要对晓灵学生管理系统所涉及的数据进行查询或检索,因为我们在数据库中存储数据并不是目的,我们更观注于对数据的查询和使用 需考虑的问题如果想要向表中添加、删除、修改数据可以使用相关命令或企业管理器的图形界面实现。如果想要查询表中的数据,一般使用T-SQL语句,使用查询分析器实现。查询数据的语句为Selec
57、t 列名 from 表名Where 条件查询语句的使用非常复杂,在学习情境4中,我们学习简单的数据查询方法,包括列的过滤,行的过滤等内容。相关知识点1.使用INSERT语句插入表数据插入一行数据 INSERT INTO 表名 (列名 ,n )VALUES( 表达式 | NULL | DEFULT ,n )相关知识点2. 使用SELECT语句查询表数据SELECT 源表名.选择列名 ,n FROM 源表名,n WHERE 逻辑表达式 相关知识点3. 使用UPDATE语句修改表数据UPDATE 表名SET 列名=表达式 | NULL | DEFULT ,n WHERE逻辑表达式相关知识点4. 使用
58、DELETE语句删除表数据DELETE 表名WHERE逻辑表达式Insert语句插入数据【任务4.1】使用insert语句晓灵学生管理系统数据库的学生表中添加一条记录。 INSERT INTO student VALUES ( 40101,温荣奇,男,1985-5-15,计算机,z0401,2004-9-1,h1101, 天津市河东区塘沽路8号,注意事项insertvalues 语句一次只能输入一行数据。不能对IDENTITY列、计算列等进行赋值。向表中插入数据时,不能违反完整性约束的要求。使用update语句更新数据【任务4.4】使用update语句更新所有行的数据
59、update gradeset gradenum=gradenum+5go更新部分数据【任务4.5】使用update语句更新部分数据。 UPDATE student STEsBanji= z0402 Where sID=040101使用delete语句删除数据【任务4.6】使用delete语句删除学生表中学号为040101的学生的信息。 DELETEstudent WHERE sID= 040101【任务4.7】使用delete语句删除学生表中所有学生的信息。 DELETEstudentSELECT语句查询几种查询工具的介绍企业管理器SELECT语句查询几种查询工具的介绍查询分析器 SELECT语句的语法结构Select语句的功能是从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列。虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省德州市2024-2025学年高一上学期期中考试 历史 含答案
- 养殖场团队协作与沟通
- 高尔夫球场有线电视施工合同
- 2024版股权转让协议(含详细条款)3篇
- 终止解除实习合同
- 外贸公司放弃退税承诺书
- 烘焙店残疾人用工合同
- 美食广场食品卫生安全宣传策略
- 石油开采沉井施工合同
- 工厂食堂保安招聘书
- 2024秋国开电大《马克思主义基本原理概论》大作业试卷A参考答案
- 复旦大学(张奇):2023年大语言模型评测报告
- 9.2 化学合成材料 同步练习
- 光伏屋顶荷载检测合同模板
- 音乐教育者招聘合同范本
- 山西省大同市2024-2025学年九年级上学期11月期中数学试题(无答案)
- 企业2024年年度目标规划
- 金矿地质勘探合同范本
- 学校班主任培训
- 医院培训课件:《新进护士职业规划》
- 2024年焊工职业技能竞赛理论知识考试题库500题(含答案)
评论
0/150
提交评论