章一 数据库的项目准备
数据库的相关概念
· 数据是对客观事物及其活动得抽象符号表示。数据的形式可以是数字,文字,图形,图像,声音等。
· 信息是指数据经过加工处理后所获取得有用知识,是以某种数据形式表现的。
· 数据处理是指对数据进行加工的过程,即将数据转换成信息得过程,是对各种数据进行收集、存储、加工和传播得一系列活动得总和。
· 数据库是长期存储在计算机存储设备上,结构化的相关数据集合。它不仅包括描述事物的数据本身,还包括相关事物之间的联系。
· 数据库管理系统,是一种系统软件,是位于用户和操作系统之间,以统一方式进行管理、维护数据库中数据的一系列软件的集合。
· 数据库系统,是一个在计算机系统中引用数据库后的系统构成。
通常由
i. 数据库
ii. 数据库管理系统
iii. 计算机操作系统
iv. 用户 构成。
· 数据冗余是指数据库中存在一些重复的数据。例如,下图中的“民族”和“部门”,就是数据冗余。
· 数据冗余也是可以出现的,比如上图的“编号”,需要该列以序号的形式给与数据独一无二的标识记录。
· 数据完整性是指数据库中的数据可以正确反映实际情况,即数据库中数据的准确性。比如“学生的分数为59分”。如果将该信息描述为“学生分数为60分以下”,描述中的区间过大,违反了数据完整性的要求。
· 数据库管理系统的发展过程:
i. 文件系统
ii. 层次模型和网状模型数据库
iii. 关系模型数据库和结构化查询语言
iv. “关系-对象”型数据库
· 各种关系型数据库系统RDMS中,甲骨文公司的Oracle,IBM公司的DB2,微软的SQL Server,为主要的广泛应用。
【填空题】
1. (数据库)是长期存储计算机内,有结构的,大量的,共享数据的集合。
2. 数据冗余是指(存在重复数据)
3. DBMS是指(在操作系统支持下的系统软件)
4. 数据库系统的核心是(数据库管理系统)
5. 由计算机、操作系统、DBMS、数据库、应用程序等组成的整体称为(数据库系统)
6. SQL语言是具有(数据定义,数据操纵,数据控制)的功能。
7. SQL语言树(关系数据库)语言。
8. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为()
【选择题】
1. 下面选项中能够直接实现对数据库中数据操纵的软件是(C)A字表处理阮籍 B操作系统 C数据库管理系统 D编译系统
2. 以下()部署SQL Server数据库的组成文件。 A索引文件 B日志文件 C主要数据文件 D次要数据文件
3. 以下()是SQL Server数据库的可选文件。 A索引文件 B日志文件 C主要数据文件 D次要数据文件
4. SQL Server安装程序创建四个系统数据库,下列哪个不是()系统数据库。Amaster Bmodel Cpub Dmsdb
章二 数据系统的规划设计
数据库设计的相关概念
· 数据模型是对现实世界数据特征的抽象,是数据库系统中用以提供信息表示和操作手段的形式构架。数据模型是严格定义的一组概念的结合。数据模型的组成要素包括数据架构、数据操作和数据的完整性约束。
· 在概念设计中,数据模型按照不同的引用层次,可以分为以下几种
o 数据流图:适用于描述数据吃
o 逻辑模型
· 数据的完整性
o 实体完整性:确保数据库中所有实体的唯一性,也就是每条数据记录都不相同。
o 域完整性:指列中数据的输入有效性。如性别中,只有男或女是是有效的。
o 参照完整性:维护相关数据表之间数据一致性的手段。比如表1和表2中都具有的一种数据需要在表1中删除,但是表2需要参考表1的该列数据,那么删除将会失败。
· 用户定义完整性是由用户根据实际应用中的需要自行定义的特殊规则。
· 属性是指实体所具有的某种特性,属性用来描述一个实体。
· 主键是能够唯一标识实体集或者联系集中每个实例的属性或属性组。
· 一个实体或联系的属性或属性组不是本实体或联系的主键,而是另一个实体的主键,则被称为是本实体或联系的外键,用于实现实体之间的联系与参照完整性。
· 目前常用的模型结构有
o 层次模型,用树结构表示关系。每一个结构代表一个实体,连线代表关系。数据分门别列的存储在不同结构之下。
o 关系模型,用二维表来表示数据之间的联系。表的一行称为一条记录,用来描述一个对象信息。一列称为一个字段,用来描述对象的,一个属性。
o 网状模型,使用图结构来表示数据之间的关系。
· 数据库的设计分为六个步骤
o 需求设计
o 概念设计
o 逻辑设计
o 物理设计
o 应用开发
o 运行维护
· 需求分析是数据库应用系统开发的七点,主要任务是调查、收集与分析用户在数据处理中的数据需求、共功能需求、完整性和安全需求。
· 根据反复确认最终会形成需求分析报告。
【填空题】
1. 关系模型的基本数据结构是( 二维表 )。
2. 在E-R模型中,实体间的联系用( 菱形 )表示。
3. 区别不同实体的依据是( 属性 )。
4. E-R图是数据库设计的工具之一,它一般适用于建立数据库的( 概念模型 )。
【选择题】
1. 根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中, 因哪个属性而使它不满足第一范式? ( B )A部门总经理 B部门成员 C部门名 D部门号
公司管理数据库的设计
需求设计,概念设计,逻辑设计的方法
首先需要进行需求分析,对需要存储的数据进行收集和整理,并组织建立完整的数据集。
需求建立的方法可以通过:数据流图和数据字典。
· 数据流图:是用于描述数据处理的业务流程。
· 数据字典:是关于数据的信息集合,是关于数据定义的描述。
需求分析如下:
1. 确认数据库的组织结构。用于业务流程与信息的载体,对分析人员,理解业务、确定系统范围具有很好的帮助。比如在公司运作中需要如下模块我们就可以用数据流图。来表达数据和处理过程的关系。如:
2. 确定功能需求——用户的数据处理需求,通常指用户要完成什么处理功能及处理方式。确定上面几个模块的功能。
3. 最后描述信息需求,即各个数据描述信息的集合。比如上图中每个信息的具具体的定义。
4. 概念设计最常用的是E-R方法,这是一种用来在数据库设计过程中表述数据可系统结构的方法。它的主导思想是使用实体、属性、实体之间的关系来表示数据库系统的结构。矩形表示实体,菱形表示联系,椭圆表示属性。如右图
5. 逻辑结构设计的任务是将概念结构设计阶段产生的E-R模型转换为具体的DBMS所支持的数据模型,并对其进行优化。比如从上图的E-R模型中可以得到如下四个信息表。而在对上述的信息表进行如去除冗余和优化等操作,可以得到新的信息表
6. 物理存储结结构设计的目的是如何在磁盘上存储关系、索引数据文件,使空间利用率最大,而操作开销最小。数据库应用是根据逻辑结构设计和物理设计的结果。在计算机上建立实际的数据库结构,装入数据并进行测试和试运行的过程。
【填空题】
1. 按所使用的数据模型来分,数据库可分为( )三种模型。
2. 数据库设计中概念模型设计阶段的主要描述工具是( E-R图 )。
3. 概念设计的结果是( 一个与DBMS无关的概念模型)。
4. 在数据库技术中,面向对象数据模型是一种( )。
5. 从数据库的整体结构看,数据库系统采用的数据模型有(层次模型、关系模型和网状模型 )。
6. 一个规范化的关系至少应当满足( 三范式 )的要求。
7. 关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现的是哪一(些)类完整性?(参照完整性 )
【选择题】
1. 下列关于数据库设计的说法正确的是( )。A、在数据库设计过程中,数据库的安全性、完整性、一致性和可恢复性等的设计总是以牺牲效率为代价的 B、数据库的实现只是指对数据库结构装入实际的数据,建立实际的数据库的过程 C、对数据库的概念、逻辑和物理结构的改变称为再构造 D、数据库设计中考虑的故障恢复方案,一般都是基于数据库的逻辑模型提出的
章三 数据库的创建和管理
平台界面创建数据库
选择“新建数据库”
新建数据库需要确定一些相关选项,比如“数据库名称”。数据库的所有者默认为“DBO数据库”
*数据库会自动生成两个文件,如下图。一个是主数据文件,一个是数据日志文件。 *
两者都可以通过修改属性来修改。比如主数据文件必须在文件组PRIMARY中,但初始大小是可以修改的。
文件位置也可修改:
上述几项选择完毕就创建好了。这里需要明确一些创建原则。
· 数据库有且只有一个主数据文件,其扩展名为 “.mdf”
· 至少有一个事务日志文件,不分组,其扩展名为“ .ldf”
· 辅助数据文件可以有,也可以没有,可以有一个,也可以有多个,其扩展名为 ".ndf"
【填空题】
1. Companyinfo数据库属于(用户数据库 )。
2. 数据库的容量(可以设置为自动增长 )。
3. 扩展数据库包括( )。
【选择题】
1. 下面关于master数据库的说法正确的是(C )。A、可以创建master数据库 B、可以附加master数据库 C、如果master数据库不可用,则SQL Server无法启动 D、可以删除master数据库
命令行创建数据库
使用界面盒使用命令行创建数据库具有几条共同点,如主数据文件、辅助数据文件、事务日志文件。 这些文件都必须具备。且需要确定这些文件的属性,其中逻辑名称和物理名称是必须有的,文件初始大小、最大容量、增长方式是可选的。
单击“新建查询”
1. 创建数据库,确认何种数据库文件:主数据文件,辅助数据文件,事务日志文件
2. 确认文件属性:逻辑名称和物理名称(必选项);
3. 确认文件属性:文件初始大小,最大容量,增长方式等(可选)
4. 示例例:创建一个EM数据库,一个主数据文件,一个辅助数据文件;两个事务日志文件
红色框内确定的是主数据文件和辅助数据文件;
· “name” 代表逻辑名称,是“EM_MDF”是主数据文件;
· “filename” 代表物理名称,存储在哪个盘符下面,比如此处为"E:\EM.MDF"文件;
· “size” 是数据文件的初始大小;
· “maxsize” 可以设置500M等数量,也可以设置“UMLIMITED”,即不受限制的增长;
· “filegrowth” 可以指定2M这种固定数据,也可以设置2%此类速度。;
橙色圈中确定的是事务日志文件
数据库生成出来了。如果有语法错误,会在下面的执行框中显示位置。
上图为删除数据库语句。
【填空题】
1. SQL Server数据库的主数据文件的扩展名是( mdf )。
2. SQL Server中数据库的名称是否允许为中文( 可以 )。
3. 在SQL中,创建数据库用的命令是 ( "CREATE DATABASE" )。
4. 创建数据库时,需要指定( "数据库的物理名和逻辑名" )属性。
界面和命令修改数据库
界面修改数据库
数据库的修改,如果是用平台界面操作,就是在平台界面的这个管理平台,右击属性进入修改。
在属性的界面可以进行多种修改。但是对于文件,如上文所说,必须存在一个主数据文件和数据日志文件。因此这两个文件都不可以删除。不过后续增加的事务日志文件等可以增删。看下图,“删除”键分别呈现可点击和灰色状态。
T-SQL 命令修改数据库
而如果用T-SQL命令修改数据库的相关属性,我们使用的命令为:Alter Database 数据库名字
加上想要改变的内容。可选择如下:
· add file 增加数据库辅助文件
· add log file 增加数据库辅助日志文件
· remove file 移除数据库,不管是辅助数据文件还是事务日志文件
· add filegroup 增加数据库的文件组
· remove filegroup 移除数据组
· modify file 修改数据库文件的相关信息
举例如下:这里增加辅助数据文件。 之前有说增加数据库文件需要有逻辑名称和物理名称,文件初始大小、最大容量、增长方式这几项,前两个必有,后面几项可选。在增加辅助数据文件的时候,也需要使用这种格式。
选中部分略去,得到如下
这就是增加了一个辅助数据文件。单击“执行”,即可完成修改。
类似的,如果要增加事务日志文件也是类似格式。
但是要注意, 两个操作不可以在一起操作,必须分开。
单次只能进行一个的修改。
如果要进行删除文件操作:
修改数据库的操作,比如增删,不可以用一条“alter database”进行操作!!!只能一条条分开。
下面是通过“Alter database”命令进行的修改数据库命令操作。这个操作有三部分。
1. 首先是修改数据库,增加了辅助数据文件,此处操作增加了文件的逻辑名称和物理名称。
2. 第二个操作,增加了事务日志文件。这里增加的是事物日志的逻辑名称和物理名称,以及他的最大容量。
3. 第三个操作是移除事务日志文件。
小案例:
【填空题】
1. 在SQL中,删除数据库用的命令是 ( DROP DATABASE )。
【选择题】
1. SQL Server安装程序创建4个系统数据库,下列哪个不是系统数据库( C )。 A、master B、model C、AdventureWorks D、msdb
2. 下面删除数据库文件的描述错误的是( B )。 A、数据文件中没有数据时,才可以从数据库中删除 B、数据文件中有数据,也可以从数据库中删除 C、不能删除主数据文件 D、当日志文件不再包含任何活动的事务时,才可以从数据库中删除该日志文件
数据表的创建和管理