基于课堂上学到的以及书上的看到的,总结出的数据库复习资料
一、数据库概述
- 基本概念
1.数据
数据(Data)是事物的符号表示,可以是声音、图像、文字、数字,也可以是计算机代码。
2.数据库
数据库(DataBase,DB)是一个长期存储在计算机内的,有组织的、共享的、统一管理的数据集合。具有较小的冗余、较高的数据独立性和易扩展性,并可以为各种用户共享。
3.数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是位于用户和操作系统之间的一个数据管理软件,用于建立、使用和维护数据库,可以理解为用户与数据库的接口。
DBMS的主要功能有:
① 数据定义功能:提供数据定义语言,定义数据库和数据库对象
②数据操纵功能:提供数据操纵语言,对数据进行增删改查等操作
③数据控制功能:提供数据控制语言,提供数据的安全性、完整性、并发控制等功能
④数据库建立维护功能
4.数据库管理员
数据库管理员(DataBase Administrator,DBA)是一个负责管理和维护数据库服务器的人。
5.数据库系统
数据库系统(DataBase System,DBS),又称数据库应用系统,是由数据库(DB)、操作系统、数据库管理系统(DBMS)、数据库应用程序、用户、数据库管理员组成的用于存储、管理、处理和维护数据的系统。
这就是数据库系统的结构:
- 数据管理技术的发展
数据管理技术的发展经历了人工管理阶段、文件系统阶段、数据库系统阶段。
- 三级模式结构
模式是指对数据的逻辑结构或物理结构、数据特征、数据约束的定义和描述。模式是对数据的一种抽象,模式反映数据的本质、核心或类型等方面。
数据库系统是三级模式结构,分别是外模式、模式、内模式。
①外模式又称子模式或用户模式,是三级模式的最外层,一个数据库可以有多个外模式,但一个应用程序只能使用一个外模式。
②模式又称概念模式或逻辑模式,位于中间层,一个数据库只有一个模式。
③内模式又称存储模式,位于底层,一个数据库只有一个内模式。
- 二级映射
数据库管理系统在这三级模式之间提供了两级映射:外模式/模式映射、模式/内模式映射。
- 数据模型
在开发设计数据库应用系统时需要使用不同的数据模型,分别是概念数据模型、逻辑数据模型、物理数据模型。
1.概念数据模型
面向现实世界建模,通过各种概念来描述现实世界的事物以及事物之间的联系,主要用于数据库设计。最常用的概念模型是E-R模型(实体-联系模型)。
2.逻辑数据模型
面向用户建模,是事物及事物之间联系的数据描述,提供了表示和组织数据的方法。主要的逻辑模型有层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型和半结构化数据模型等。
3.物理数据模型
面向计算机系统的,是对数据底层的抽象,它描述数据在系统内部的表示方法和存取方法。
- 概念模型
概念模型又称信息模型,是现实世界到机器世界的一个中间层次。
有以下概念:
1.实体
客观存在并可以相互区别的事物称为实体。实体可以是具体的人、事、物或抽象的概念,实体用矩形框表示。
2.属性
实体所具有的某一特性称为属性。属性采用椭圆框表示。
3.码
能唯一标识实体的最小属性集,又称为键或关键字。
4.实体型
用实体名及其属性集合来抽象和刻画同类实体。如学生(姓名,学号,性别)。
5.实体集
同类型的实体的集合称为实体集。如全体学生记录就是一个实体集。
6.域
属性的取值范围称为该属性的域。
7.联系
两个实体集之间的联系包括一对一联系、一对多联系、多对多联系。
联系由菱形框表示。
- 关系数据库
1.概念
数据模型是严格定义的一组概念的集合,一般由数据结构(静态)、数据操作(动态)、数据完整性约束三部分组成。
通常数据库的类型是按照数据所存储的结构的类型来命名的数据模型,常见的数据模型有层次模型、网状模型、关系模型和面向对象模型。最常用的是关系模型。关系模型是指用二维表的形式表示实体以及实体间联系的数据模型,一个关系就是一张二维表。
关系数据库系统是支持关系模型的数据库系统。
2.基本名词
①元组:关系表中每一横行称作一个元组,也称为记录。
②属性:每一列称为一个属性,也称为字段。
③候选码、主码、全码
- 数据库设计
数据库系统设计基本步骤分为:
①需求分析阶段
②概念设计阶段
③逻辑设计阶段
④物理设计阶段
⑤数据库实施阶段
⑥运行和维护阶段
二、数据库管理
- SQL Server数据库概述
SQL(Structured Query Language)语言,即结构化查询语言,是关系数据库的标准语言,是一种高级的非过程化编程语言。
SQL语言分为四类:
①数据定义语言(Data Definition Language,DDL),用于定义数据库对象,如表、视图、索引等数据库对象,包括create、alter、drop等语句。
②数据操纵语言(Data Manipulation Language,DML),包括insert、update、delete等语句。
③数据查询语言(Data Query Language,DQL),select语句。
④数据控制语言(Data Control Language,DCL),用于控制用户对数据库的操作权限,包括grant、revoke等语句。
1.逻辑数据库
组成数据库的逻辑成分称为数据库对象,常用的数据库对象包括表、视图、索引、存储过程、触发器等。
SQL Server的数据库有两类:系统数据库、用户数据库。
SQL Server在安装时自动创建5个系统数据库:master、model、msdb、tempdb、resource(不可见)。
2.物理数据库
SQL Server的物理数据库架构包括页和区、数据库文件、数据库文件组等。
(1)页和区是SQL Server数据库的两个主要数据存储单位。
页:用于数据存储的最基本单位。每个页的大小是8KB,每1MB的数据文件可以容纳128页。(1MB=1024KB)
区:用于控制表和索引的存储。每8个连接的页组成一个区,区的大小是64KB,1MB的数据库有16个区。
(2)SQL Server采用操作系统文件来存放数据库,使用的文件有主数据文件、辅助数据文件、日志文件。
主数据文件:用于存储数据,一个数据库只能有一个主文件,默认扩展名为.mdf。
辅助/次要数据文件:用于存储数据,可以创建多个或不创建,默认扩展名为.ndf。
日志文件:用于保存恢复数据库所需的事务日志信息,一个数据库至少有一个或多个日志文件,默认扩展名为.ldf。
(3)SQL Server提供了两类文件组,主文件组和用户定义文件组。
主文件组(PRIMARY 文件组):由系统定义,里面包含主要数据文件和次要数据文件。每个数据库有一个主文件组,主文件组也是默认文件组。
用户定义文件组:由用户定义,用于将多个次要数据文件集合起来。
一个数据文件只能属于一个文件组,事务日志文件不能属于任何文件组。
- 创建数据库
create database 数据库名
on [ primary ]
( name='逻辑名',
filename='物理名'
[ ,size=自定义容量 ]
[ ,maxsize=最大容量 / unlimited ]
[ ,filegrowth=增长量 [KB/MB/GB/TB/%] ] )
,filegroup 自定义文件组名
( name='逻辑名',
filename='物理名.ndf'
[ ,size=自定义容量 ]
[ ,maxsize=最大容量 / unlimited ]
[ ,filegrowth=增长量 [KB/MB/GB/TB/%] ] )
log on
( name='逻辑名',
filename='物理名.ldf'
[ ,size=自定义容量 ]
[ ,maxsize=最大容量 / unlimited ]