SQL Server数据库和数据库简单概述

一.数据库(DATABASE)是按照数据结构来组织,存储,管理数据的仓库,是存储在一起的相关数据的集合
优点:①减少数据的冗余度,节省数据的存储空间 ②具有较高的数据独立性和易扩充性③实现数据资源的充分共享

二.数据库系统(DataBase System,简称DBS)是采用数据库技术的计算机系统,是由数据库(数据)、数据库管理系统(软件)、 数据库管理员(人员)、硬件平台(硬件)和软件平台(软件)五部分构成的运行实体。其中数据库管理员 (DataBase Administrator,简称DBA)是对数据库进行规划、设计、维护和监视等的专业管理人员,在数据库系统中起着非常重要的作用。

三.常用数据库对象

(1)表
表是包含数据库中所有数据的数据库对象,是SQL Server数据库中最重要的逻辑对象。它由行和列组成,用于组织和存储数据。
(2)字段
表中每列称为一个字段,字段具有自己的属性,如字段类型、字段大小等,其中字段类型是字段最重要的属性,它决定了字段能够存储哪种数据。
SQL规范支持5种基本字段类型:字符型、文本型、数值型、逻辑型和日期时间型。
(3)索引
索引是一个单独的、物理的数据库结构。它是依赖于表建立的,在数据库中索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需的数据。
(4)视图
视图是从一张或多张表中导出的表(也称虚拟表),是用户查看数据表中数据的一种方式。表中包括几个被定义的数据列与数据行,其结构和数据建立在对表的查询基础之上。视图中保存的不是数据,而是表的查询语句select。
(5)存储过程
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集合(包含查询、插入、删除和更新等操作),经编译后以名称的形式存储在SQL Server服务器端的数据库中,由用户通过指定存储过程的名字来执行。当这个存储过程被调用执行时,这些操作也会同时执行。
四.4个系统数据库
SQL Server 2012的安装程序在安装时默认将建立4个系统数据库(Master、Model、Msdb和Tempdb)。下面分别进行介绍。
(1)master数据库
master数据库是SQL Server 2012中最重要的数据库。记录 SQL Server 实例的所有系统级信息,包括实例范围的元数据、端点、链接服务器和系统配置设置。
(2)tempdb数据库
tempdb是一个临时数据库,用于保存临时对象或中间结果集。
(3)model数据库
用作 SQL Server 实例上创建的所有数据库的模板。对 model 数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库。
(4)msdb数据库
用于 SQL Server 代理计划警报和作业。
五.数据库技术的发展史
1.人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算。当时硬件和软件设备都很落后,数据基本依赖于人工管理。人工管理数据具有如下特点:
数据不保存
使用应用程序管理数据
数据不共享
数据不具有独立性
2.文件系统阶段
20世纪50年代后期到60年代中期,硬件和软件技术都有了进一步发展,有了磁盘等存储设备和专门的数据管理软件即文件系统,该阶段具有如下特点:
数据可以长期保存
由文件系统管理数据
共享性差,数据冗余大
数据独立性差
3.数据库系统阶段
20世纪60年代后期以来,计算机应用于管理系统,而且规模越来越大,应用越来越广泛,数据量急剧增长,对共享功能的要求越来越强烈,这样使用文件系统管理数据已经不能满足要求,于是为了解决一系列问题,出现了数据库系统,用来统一管理数据。数据库系统的出现,满足了多用户、多应用共享数据的需求,比文件系统具有明显的优点,标志着数据管理技术的飞跃。
六.数据模型
数据模型是数据库系统的核心与基础,是关于描述数据与数据之间的联系、数据的语义、数据一致性约束的概念性工具的集合。
1.数据模型通常是由数据结构、数据操作和完整性约束3部分组成的,分别如下:
①数据结构:是对系统静态特征的描述,描述对象包括数据的类型、内容、性质和数据之间的相互关系。
②数据操作:是对系统动态特征的描述,是对数据库各种对象实例的操作。
③完整性约束:是完整性规则的集合,它定义了给定数据模型中数据及其联系所具有的制约和依存规则

2.常用的数据库数据模型主要有层次模型、网状模型和关系模型,下面分别进行介绍。
(1)层次模型:用树形结构表示实体类型及实体间联系的数据模型称为层次模型,具有以下特点:
每棵树有且仅有一个无双亲结点,称为根。
树中除根外所有结点有且仅有一个双亲。
SQL Server数据库和数据库简单概述_第1张图片
(2)网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。用网状模型编写应用程序极其复杂,数据的独立性较差。

SQL Server数据库和数据库简单概述_第2张图片
(3)关系模型:以二维表来描述数据。关系模型中,每个表有多个字段列和记录行,每个字段列有固定的属性(数字、字符、日期等)。关系模型数据结构简单、清晰、具有很高的数据独立性,因此是目前主流的数据库数据模型。
关系模型的基本术语如下:
①关系:一个二维表就是一个关系。
②元组:就是二维表中的一行,即表中的记录。
③属性:就是二维表中的一列,用类型和值表示。
④域:每个属性取值的变化范围,如性别的域为{男,女}。
关系中的数据约束如下:
⑤实体完整性约束:约束关系的主键中属性值不能为空值。
⑥参照完整性约束:关系之间的基本约束。
⑦用户定义的完整性约束:它反映了具体应用中数据的语义要求。
SQL Server数据库和数据库简单概述_第3张图片
七.数据库组成部分
SQL Server 2012数据库主要由文件和文件组组成。数据库中的所有数据和对象(如表、存储过程和触发器)都被存储在文件中。
1.文件主要分为以下3种类型:
(1)主要数据文件:存放数据和数据库的初始化信息。每个数据库有且只有一个主要数据文件,默认扩展名是.mdf。
(2)次要数据文件:存放除主要数据文件以外的所有数据文件。有些数据库可能没有次要数据文件,也可能有多个次要数据文件,默认扩展名是.ndf。
(3)事务日志文件:存放用于恢复数据库的所有日志信息。每个数据库至少有一个事务日志文件,也可以有多个事务日志文件,默认扩展名是.ldf。
注意:
SQL Server 2012不强制使用.mdf、.ndf 和.ldf文件扩展名,但使用这些扩展名可以帮助标识文件的用途。
2.文件组
文件组是SQL Server 2012数据文件的一种逻辑管理单位,它将数据库文件分成不同的文件组,方便于对文件的分配和管理。
文件组主要分为以下两种类型:
(1) 主文件组:包含主要数据文件和任何没有明确指派给其它文件组的文件。系统表的所有页都分配在主文件组中。
(2) 用户定义文件组:主要是在CREATE DATABASE或ALTER DATABASE语句中,使用FILEGROUP关键字指定的文件组。
八.规范化关系数据库
关系数据库的规范化理论为:关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以分为5个等级:第一范式(1NF)、第二范式(2NF)、……、第五范式(5NF)。其中,NF是Normal Form的缩写。一般情况下,只要把数据规范到第三范式标准就可以满足需要了。
(1)第一范式(1NF)
在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单位。
(2)第二范式(2NF)
若关系模型属于第一范式,则关系中每一个非主关键字段都完全依赖于主关键字段,不能只部分依赖于主关键字的一部分。
(3)第三范式(3NF)
若关系属于第一个范式,且关系中所有非主关键字段都只依赖于主关键字段,第三范式要求去除传递依赖。
九.设计关系数据库
数据库设计是指对于一个给定的应用环境,根据用户的需求,利用数据模型和应用程序模拟现实世界中该应用环境的数据结构和处理活动的过程。
数据库设计原则如下。
(1)数据库内数据文件的数据组织应获得最大限度的共享、最小的冗余度,消除数据及数据依赖关系中的冗余部分,使依赖于同一个数据模型的数据达到有效的分离。
(2)保证输入、修改数据时数据的一致性与正确性。
(3)保证数据与使用数据的应用程序之间的高度独立性。
十.创建数据库
1.以界面方式创建数据库
下面在SQL Server Management Studio中创建数据库“db_database”,具体操作步骤如下。
(1)启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。
(2)鼠标右键单击“数据库”选项,在弹出的快捷菜单中选择“新建数据库”命令,如图所示。
SQL Server数据库和数据库简单概述_第4张图片
(3)进入“添加库”对话框,如图所示。在列表框中填写数据库名“db_database”,单击“确定”按钮,添加数据库成功。

SQL Server数据库和数据库简单概述_第5张图片
①“常规”选项卡:用于设置新建数据库的名称。
② “选项”和“文件组”选项卡:定义数据库的一些选项,显示文件和文件组的统计信息。这里均采用默认设置。
2.使用CREATE DATABASE语句创建数据库
语法如下:

CREATE DATABASE [DB-date03]
ON PRIMARY(
--主数据文件的逻辑名称
NAME='DB-date03.MDF',
--主数据文件的物理名称(路径地址)
FILENAME='E:\SQL Server 练习\20190217\DB-date03.MDF',
--主数据文件的初始大小
SIZE=8MB,
--主数据文件自动增量
FILEGROWTH=10%,
--主数据文件增长的最大值
MAXSIZE=UNLIMITED
)
LOG ON(
NAME='DB-date03.LDF',
FILENAME='E:\SQL Server 练习\20190217\DB-date03.LDF',
SIZE=8MB,
FILEGROWTH=10%,
MAXSIZE=UNLIMITED
)

--删除数据库
DROP DATABASE [DB-date02]

参数说明如下。
(1) database_name:新数据库的名称。数据库名称在 SQL Server 的实例中必须唯一,并且必须符合标识符规则。
(2) ON:指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。当后面是以逗号分隔的、用以定义主文件组的数据文件的 项列表时,需要使用 ON。主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的 项列表(可选)。
(3) PRIMARY:指定关联的 列表定义主文件。在主文件组的 项中指定的第一个文件将成为主文件。一个数据库只能有一个主文件。有关详细信息,请参阅文件和文件组体系结构。
(4)LOG ON:指定显式定义用来存储数据库日志的磁盘文件(日志文件)。LOG ON 后跟以逗号分隔的用以定义日志文件的 项列表。如果没有指定 LOG ON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的 25% 或 512 KB,取两者之中的较大者。不能对数据库快照指定 LOG ON。
(5)COLLATE:指明数据库使用的校验方式。collation_name可以是Windows的校验方式名称,也可以是SQL校验方式名称。如果省略此子句,则数据库使用当前的SQL Server校验方式。
(6) NAME:指定文件在SQL Server中的逻辑名称。当使用FOR ATTACH选项时,就不需要使用NAME选项了。
(7) FILENAME:指定文件在操作系统中存储的路径和文件名称。
(8) SIZE:指定数据库的初始容量大小。如果没有指定主文件的大小,则SQL Server默认其与模板数据库中的主文件大小一致,其他数据库文件和事务日志文件则默认为1MB。指定大小的数字SIZE可以使用KB、MB、GB和TB作为后缀,默认的后缀是MB。SIZE中不能使用小数,其最小值为512KB,默认值是1MB。主文件的SIZE不能小于模板数据库中的主文件。
(9) MAXSIZE:指定文件的最大容量。如果没有指定MAXSIZE,则文件可以不断增长直到充满磁盘。
(10)UNLIMITED:指明文件无容量限制。
(11)FILEGROWTH:指定文件每次增容时增加的容量大小。增加量可以用以KB、MB作后缀的字节数或以%作后缀的被增容文件的百分比来表示。默认后缀为MB。如果没有指定FILEGROWTH,则默认值为10%,每次扩容的最小值为64KB。
注意:
在创建数据库时,所要创建的数据库名称必须是系统中不存在的,如果存在相同名称的数据库,在创建数据库时系统将会报错。另外,数据库的名称也可以是中文名称。
十一.删除数据库
如果用户不再需要某一数据库时,只要满足一定的条件即可将其删除,删除之后,相应的数据库文件及其数据都会被删除,并且不可恢复。

1.以界面方式删除数据库
下面介绍如何删除数据库“MingRi”。具体操作步骤如下:
(1)启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。在“对象资源管理器”中展开“数据库”节点。
(2)鼠标右键单击要删除的数据库“MingRi”选项,在弹出的快捷菜单中选择“删除”命令。
SQL Server数据库和数据库简单概述_第6张图片
(3)在弹出的“删除对象”对话框中单击“确定”按钮即可删除数据库。

SQL Server数据库和数据库简单概述_第7张图片
注意:
系统数据库(msdb、model、master、tempdb)无法删除。删除数据库后应立即备份master数据库,因为删除数据库将更新master数据库中的信息。
2.使用DROP DATABASE语句删除数据库
语法格式如下:
DROP DATABASE database_name [ ,…n ] --如果有多个要删除的数据库,用逗号隔开
其中database_name是要删除的数据库名称,中括号内为多个数据库的情况。
注意:
使用DROP DATABASE命令删除数据库时,系统中必须存在所要删除的数据库,否则系统将会出现错误
另外,如果删除正在使用的数据库,系统将会出现错误。

你可能感兴趣的:(SQL)