SQL Server 2008 复习(一)

导入 有关数据库系统的基本概念

1.信息与数据:

数据(Data)是描述事物的符号记录,数据的表现形式,可以是文本、图表、图形、图像、声音、语言、视频等。

信息(Information)是具有特定意义的数据

2.“数据”与“信息”、“知识”和“智慧”等概念之间存在一定的区别与联系。

3 .数据存储容量单位

4.数据规模与利用率之间的矛盾日益凸显。

  • ​ 一方面,数据规模的“存量”和“增量”在快速增长。
  • ​ 另一方面,缺乏对 “大数据”的开发利用能力。

5.数据模型, 数据的异构性问题
(1)专用格式
与特定应用程序 (及开发语言)相关
docx, pptx,class 等
(2)通用格式
与特定应用程序 (及开发语言)无关的

6.数据分类:结构化数据、非结构化数据与半结构化数据

(1)结构化数据:一般存储在Oracle或SQL Server等关系型数据库中

(2)非结构化数据

(3)半结构化数据:适合存储这类数据的数据库被称作“NoSQL”数据库

7.NoSQL数据库

“NoSQL”数据库被称作下一代的数据库,具有非关系型,分布式,轻量级,支持水平扩展且一般不保证遵循ACID原则的数据储存系统。

8.数据加工程度

9.信息技术

10.信息系统

第1章 数据库系统概论

1.数据库系统的基本概念

1.1.信息与数据库
  • **数据(**Data)是描述事物的符号记录
  • 信息(Information)是具有特定意义的数据。
  • 数据库
    数据库(Database,DB)是长期存储在计算机内、有组织、可共享的大量数据的集合。
    数据库中的数据需要创建数据模型来描述,如网络、层次、关系模型。在数据库中的数据具有冗余度小独立性高易扩展性的特点。
1.2.数据库管理系统
  1. 数据库管理系统(Database Management System,DBMS)位于用户和操作系统之间,是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。像Oracle、SQL Server 和DB2都是常用的数据库管理系统软件。

  2. DBMS提供了数据定义语言(DDL)、数据操作语言(DML)和应用程序。数据库管理系统是由多种不同的程序模块组成,基本数据库管理系统的系统架构包括4部分。(DCL数据控制语言)

  • 存储管理(Storage Manager)。数据库管理系统通常会自行配置磁盘空间,将数据存入存储装置的数据库。
  • 查询处理(Query Processor)。负责处理用户下达的查询语言命令语句,可以再细分成多个模块负责检查语法、优化查询命令的处理程序。
  • 事务管理(Transaction Manager)。负责处理数据库的事务,保障数据库商业事务的操作需要,及并发控制管理(Concurrency- Control Manager)资源锁定等。
  • 恢复管理(Recovery Manager)。恢复管理主要是日志管理(Log Manager),负责记录数据库的所有操作,可以恢复数据库系统存储的数据到指定的时间点。
1.3.数据库系统

用户(Users)。用户执行DDL语言定义数据库架构,使用DML语言新增、删除、更新和查询数据库的数据,通过操作系统访问数据库的数据。

数据(Data)。数据库系统中的数据种类包括永久性数据、索引数据、数据字典和事务日志等。

软件(Software)。指在数据库环境中使用的软件,包括数据库管理系统(DBMS)、应用程序和开发工具等。

硬件(Hardware)。安装数据库相关软件的硬件设备,包含主机(CPU、内存和网卡等)、磁盘阵列、光驱和备份装置等。

1.4数据库系统的体系结构

数据库系统的体系结构主要包括如下几种结构:集中式、客户-服务器式(Client/Server,C/S)、浏览器-服务器式(Browser/Server,B/S)和分布式

2.关系型数据库理论

2.1. 概念模型及其表示方法

(1)实体的概念

  • 实体(Entity)。客观存在并可以相互区分的事物叫实体。例如,在学校里,一名学生、一名教师、一门课程等都称为实体。
  • 属性(Attribute)。属性是实体所具有的某些特性,通过属性对实体进行描述。实体是由属性组成的。
  • 主键(Primary Key)。一个实体中有一个属性或者多个属性构成的子集能够唯一标识整个属性集合,则称该属性子集为属性集合的主键。
  • 实体型(Entity Type)。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生日期,班级,入学成绩)就是一个实体型。
  • 实体集(Entity Set)。同型实体的集合称为实体集。例如,全体学生就是一个实体集。
  • 联系(Relationship)。现实世界的事物之间是有联系的。这些联系必然要在信息世界中加以反映。例如,教师实体与学生实体之间存在着教和学的联系。

(2)实体之间的联系

  • 一对一的联系(1∶1)。对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系。
  • 一对多联系(1∶M)。对于实体集A中的每1个实体,实体集B中有M个实体(M≥2)与之联系。
  • 多对多联系(M∶N)。对于实体集A中的每一个实体,实体集B中有N个实体(N≥0)与之联系

(3)概念模型的表示方法

  • 实体型表示建立概念模型的对象,用长方框表示,在框内写上实体名。
  • 实体属性是实体的说明。用椭圆框表示实体的属性,并用无向边把实体与其属性连接起来。
  • 实体间的联系是两个或两个以上实体类型之间的有名称的关联。实体间的联系用菱形框表示,菱形框内要有联系名,并用无向边把菱形框分别与有关实体相连接,在无向边的旁边标上联系的类型
2.2.数据模型

(1)数据模型的三要素

  • **数据结构。**数据结构用于描述数据库系统的静态特性。数据结构所研究是数据本身的类型、内容和性质,以及数据之间的关系。
  • 数据操作。数据操作是对数据库中对象实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。
  • 完整性约束条件。数据完整性约束是一组完整性规则的集合,它规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。

(2)常用数据模型

  • 层次模型。层次数据库的数据结构类似一颗倒置的树,每个节点表示一个记录类型,记录之间的联系是一对多的联系,现实世界中很多事物是按层次组织起来的。

  • 网状模型。网状数据库是用来处理以记录类型为结点的网状数据模型的数据库。网状模型采用网状结构表示实体及其之间的联系。

  • 关系模型。关系数据库是目前流行的数据库。

  • 面向对象模型(Object Oriented Model)。面向对象模型采用面向对象的方法来设计数据库。面向对象的数据库存储对象是以对象为单位,每个对象包含对象的属性和方法,具有类和继承等特点。Computer Associates的Jasmine就是面向对象模型的数据库系统。

  • 对象关系模型

2.33 .关系运算

(1)关系模型中的基本运算

选择。从一个表中找出满足指定条件的记录行形成一个新表的操作称为选择。选择关系运算如图1-6所示。
例如,在student关系中查询所有sex为“女”的学生。

投影。投影是从列的角度进行的运算,通过对表中的字段进行选择或重组,得到新的表。投影关系运算如图1-7所示。例如,在student关系中查询所有学生的studentno和birthday。

**连接。**连接是将两个表中的行按一定的条件横向结合,形成一个新的表。连接关系运算如图1-8所示。
例如,查询学生的sname和final,2个数据项分来自student关系和score关系,需要在2个关系连接之后,再从中按照一定条件筛选出sname和final的数据。

(2)数据完整性

  • 实体完整性。实体完整性是指关系的主关键字不能取“空值”。在关系模式中,以主关键字作为唯一性标识,如果主关键字是多个属性的组合,那么所有主属性均不得取空值。
  • 域完整性。确保属性中只允许一个有效数据。在物理数据库中,可以利用表中的数据类型和行可空性强制执行域完整性。
  • 参照完整性。参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。关系数据库中通常包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。
  • 事务完整性。事务可以确保每个逻辑单元的工作作为单个事务执行。
  • 用户定义完整性。用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件

3.设计数据库

3.1.数据库设计的规范化

(1)数据库设计的范式

  • 第一范式(1NF)。如果一个关系模式,它的每一个数据项是不可分的,即其域为简单域,则此关系模式为第一范式。第一范式易出现的问题是数据冗余和更新数据的遗漏。第一范式是最低的规范化要求包括:
    ① 数据表不能存在重复的记录,即存在一个关键字。且主关键字应满足唯一性、非空性等的条件。
    ② 每个字段都不可再分,即已经分到最小。

  • 第二范式(2NF)。如果一个关系属于1NF,且所有的非主关键字段都完全地依赖于主关键字,则称之为第二范式。例如:零件关系中,仓库地址和主键(零件号)不存在依赖关系。 零件(零件号,仓库号,数量,仓库地址)
    那么,该关系按照第二范式的要求,就应该拆分为零件和仓库两个关系。
    ① 零件(零件号,仓库号,数量)
    ② 仓库(仓库号,仓库地址)

  • 第三范式(3NF)。如果一个关系属于2NF,且每个非关键字不传递依赖于主键,这种关系就是3NF。
    例如:常见的关系中的数据项年龄和出生日期、期末成绩和总评成绩等就存在传递依赖,需要消除。

(2)数据库设计的方法

  • 实体关系(E-R)的 数据库设计方法:基于实体关系的数据库设计方法的基本思想是在需求分析的基础上,用E-R图构造一个纯粹反映现实世界实体之间内在关系的企业模式,然后再将此企业模式转换成选定的DBMS上的概念模式。每个实体或联系将来就映射为一个数据表。
  • 视图概念的数据库设计方法:基于视图概念的数据库设计方法先从分析各个应用的数据着手,为每个应用建立各自的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。
3.2.数据库设计的主要内容

(1)静态特性设计:根据给定的应用环境、用户的数据需求,设计数据库的数据模型,包括数据库的概念结构设计和逻辑结构设计两个方面。
(2)动态特性设计:根据应用处理要求,设计数据库的查询、事务处理和报表处理等应用程序,反映数据库在处理上的要求,所以又称为数据库的行为特性设计
(3)物理设计:根据动态特性,即应用处理要求,在选定的DBMS环境下,把静态特性设计中得到的数据库模式加以物理实现,即设计数据库的存储模式和存取方法。

3.3.数据库设计的过程

(1)数据库设计的步骤

  • 需求分析。需求分析的目标是通过调查研究,了解用户的数据要求和处理要求,并按一定的格式整理形成需求说明书。需求说明书是需求分析阶段的成果,也是以后设计的依据,它包括数据库所涉及的数据、数据的特征、数据量和使用频率的估计等。
  • **概念设计。**概念设计是数据库设计的第2阶段,其目标是对需求说明书提供的所有数据和处理要求进行抽象与综合处理,按一定的方法构*映用户环境的数据及其相互联系的概念模型。
  • 逻辑设计。把上一阶段得到的与DBMS无关的概念数据模型转换成等价的,并为某个特定的DBMS所接受的逻辑模型所表示的概念模式,同时将概念设计阶段得到的应用视图转换成特定DBMS下的应用视图。逻辑设计阶段的结果是DBMS提供的数据定义语言(DDL)写成的数据模式。
  • **物理设计。**物理设计阶段的任务是把逻辑设计阶段得到的逻辑数据库在物理上加以实现。

(2)数据库表列的信息类型

  • 原始数据列:用于存储有形信息(例如名称),由数据库外部的源确定。
  • 分类列。用于对数据进行分类或分组,并存储限定选择范围的数据。
  • 标识符列:用于提供一种机制来标识存储在表中的每个项
  • 引用列:用于建立一个表中的信息与另一个表中相关信息之间的链接。
上一篇:C++智能指针之weak_ptr


下一篇:记一次本地Windows-2008渗透测试