SQLServer数据库系统和数据库简介
⼀.SQL Server数据库系统概述
1.组成数据库系统的主要部分:
数据库系统(DataBase System,缩写为DBS)是采⽤数据库技术的计算机系统,是由数据库(DB)、数据库管理系统(DBMS)、数据库管理员(DBA)、硬件平台(硬件)和软件平台(软件)5部分构成的运⾏实体。
数据库管理员(DataBase Administrator,缩写为DBA)是对数据库进⾏规划、设计、维护和监视等的专业管理⼈员,在数据库系统中起着⾮常重要的作⽤
2. 认识数据模型
数据模型是数据库系统的核⼼与基础,是关于描述数据与数据之间的联系、数据的语义、数据⼀致性约束的概念性⼯具的集合。 数据模型通常是由数据结构、数据操作和完整性约束3部分组成的,分别如下:
数据结构:是对系统静态特征的描述,描述对象包括数据的类型、内容、性质和数据之间的相互关系。
数据操作:是对系统动态特征的描述,是对数据库各种对象实例的操作。
完整性约束:是完整性规则的集合,它定义了给定数据模型中数据及其联系所具有的制约和依存规则。
常⽤的数据模型有三种:层次模型 ⽹状模型 关系模型
(1)层次模型:⽤树形结构表⽰实体类型及实体间联系的数据模型称为层次模型,具有以下特点: 每棵树有且仅有⼀个⽆双亲结点,称为根。 树中除根外所有结点有且仅有⼀个双亲
(2)⽹状模型:⽤有向图结构表⽰实体类型及实体间联系的数据模型称为⽹状模型。⽤⽹状模型编写应⽤程序极其复杂,数据的独⽴性较差sql软件长什么样
(3)关系模型:以⼆维表来描述数据。每个表有多个字段列和记录⾏,每个字段列有固定的属性(数字、字符、⽇期等)。关系模型数据结构简单、清晰、具有很⾼的数据独⽴性,因此是⽬前主流的数据库数据模型。
关系模型的基本术语如下:
关系:⼀个⼆维表就是⼀个关系。
元组:就是⼆维表中的⼀⾏,即表中的记录。
属性:就是⼆维表中的⼀列,⽤类型和值表⽰。
域:每个属性取值的变化范围,如性别的域为{男,⼥}。
关系中的数据约束如下:
实体完整性约束:约束关系的主键中属性值不能为空值。
参照完整性约束:关系之间的基本约束。 ⽤户定义的完整性约束:它反映了具体应⽤中数据的语义要求。
3.关系数据库的规范化理论为:关系数据库中的每⼀个关系都要满⾜⼀定的规范。根据满⾜规范的条件不同,可以分为5个等级:第⼀范式(1NF)、第⼆范式(2NF)、……、第五范式(5NF)。其中,NF是Normal Form的缩写。⼀般情况下,只要把数据规范到第三范式标准就可以满⾜需要了。
(1)第⼀范式(1NF) 在⼀个关系中,消除重复字段,且各字段都是最⼩的逻辑存储单位。
(2)第⼆范式(2NF)    若关系模型属于第⼀范式,则关系中每⼀个⾮主关键字段都完全依赖于主关键字段,不能只部分依赖于主关键字的⼀部分。
(3)第三范式(3NF)    若关系属于第⼀个范式,且关系中所有⾮主关键字段都只依赖于主关键字段,第三范式要求去除传递依赖。
4.数据库设计原则如下。
(1)数据库内数据⽂件的数据组织应获得最⼤限度的共享、最⼩的冗余度,消除数据及数据依赖关系中的冗余部分,使依赖于同⼀个数据模型的数据达到有效的分离。
(2)保证输⼊、修改数据时数据的⼀致性与正确性。
(3)保证数据与使⽤数据的应⽤程序之间的⾼度独⽴性
5.实体间的关系:
⼀对⼀关系:是指表A中的⼀条记录在表B中有且只有⼀条相匹配的记录。在⼀对⼀关系中,⼤部分相关信息都在⼀个表中。    ⼀对多关系:是指表A中的⾏可以在表B中有许多匹配⾏,但是表B中的⾏只能在表A中有⼀个匹配⾏。
多对多关系:是指关系中每个表的⾏在相关表中具有多个匹配⾏。在数据库中,多对多关系的建⽴是依靠第3个表(称作连接表)实现的,连接表包含相关的两个表的主键列,然后从两个相关表的主键列分别创建与连接表中的匹配列的关系
⼆.SQL Server数据库概述
数据库(DataBase)是按照数据结构来组织、存储和管理数据的仓库,是存储在⼀起的相关数据的集合。其优点主要体现在以下⼏⽅⾯:
减少数据的冗余度,节省数据的存储空间
具有较⾼的数据独⽴性和易扩充性
实现数据资源的充分共享
下⾯介绍⼀下与数据库相关的⼏个概念:
(1)数据库系统 (DataBase System,简称DBS)是采⽤数据库技术的计算机系统,是由数据库(数据)、数据库管理系统(软件)、数据库管理员(⼈员)、硬件平台(硬件)和软件平台(软件)五部分构成的运⾏实体。其中数据库管理员(DataBase Administrator,简称DBA)是对数据库进⾏规划、设计、维护和监视等的专业管理⼈员,在数据库系统中起着⾮常重要的作⽤
(2)数据库管理系统 (DataBase Management System,简称DBMS)是数据库系统的⼀个重要组成部分,是位于⽤户与操作之间的⼀层数据管理软件,负责数据库中的数据组织、数据操纵、数据维
护和数据服务等。主要具有如下功能:    数据存取的物理构建:为数据模式的物理存取与构建提供有效的存取⽅法与⼿段。    数据操纵功能:为⽤户使⽤数据库的数据提供⽅便,如查询、插⼊、修改、删除等以及简单的算术运算和统计。    数据定义功能:⽤户可以通过数据库管理系统提供的数据定义语⾔(Data Definition Language,简称DDL)⽅便地对数据库中的对象进⾏定义。    数据库的运⾏管理:数据库管理系统统⼀管理数据库的运⾏和维护,以保障数据的安全性、完整性、并发性和故障的系统恢复性。    数据库的建⽴和维护功能:数据库管理系统能够完成初始数据的输⼊和转换、数据库的转储和恢复、数据库的性能监视和分析等任务。
(3)关系数据库 是⽀持关系模型的数据库。关系模型由关系数据结构、关系操作集合和完整性约束三部分组成。    关系数据结构:在关系模型中数据结构单⼀,现实世界的实体以及实体间的联系均⽤关系来表⽰,实际上关系模型中数据结构就是⼀张⼆维表。    关系操作集合:关系操作分为关系代数、关系演算、具有关系代数和关系演算双重特点的语⾔(SQL语⾔)。    完整性约束:完整性约束包括实体完整性、参照完整性和⽤户定义的完整性约束。
三.常⽤的数据库对象
(1)表    表是包含数据库中所有数据的数据库对象,是SQL Server数据库中最重要的逻辑对象。它由⾏和列组成,⽤于组织和存储数据。
(2)字段    表中每列称为⼀个字段,字段具有⾃⼰的属性,如字段类型、字段⼤⼩等,其中字段类型是字段最重要的属性,它决定了字段能够存储哪种数据。 SQL规范⽀持5种基本字段类型:字符型、⽂本型、数值型、逻辑型和⽇期时间型。
(3)索引    索引是⼀个单独的、物理的数据库结构。它是依赖于表建⽴的,在数据库中索引使数据库程序⽆须对整个表进⾏扫描,就可以在其中到所需的数据。
(4)视图    视图是从⼀张或多张表中导出的表(也称虚拟表),是⽤户查看数据表中数据的⼀种⽅式。表中包括⼏个被定义的数据列与数据⾏,其结构和数据建⽴在对表的查询基础之上。视图中保存的不是数据,⽽是表的查询语句select。
(5)存储过程    存储过程(Stored Procedure)是⼀组为了完成特定功能的SQL语句集合(包含查询、插⼊、删除和更新等操作),经编译后以名称的形式存储在SQL Server服务器端的数据库中,由⽤户通过指定存储过程的名字来执⾏。当这个存储过程被调⽤执⾏时,这些操作也会同时执⾏。
四.数据库组成部分
SQL Server 2012数据库主要由⽂件和⽂件组组成。数据库中的所有数据和对象(如表、存储过程和触发器)都被存储在⽂件中。
(1)⽂件主要分为以下3种类型:
主要数据⽂件:存放数据和数据库的初始化信息。每个数据库有且只有⼀个主要数据⽂件,默认扩展名是.mdf。
次要数据⽂件:存放除主要数据⽂件以外的所有数据⽂件。可以没有或有多个次要数据⽂件,默认扩展名是.ndf。
事务⽇志⽂件:存放⽤于恢复数据库的所有⽇志信息。每个数据库⾄少有⼀个事务⽇志⽂件,也可以有多个事务⽇志⽂件,默认扩展名
是.ldf。
(2)⽂件组    ⽂件组是SQL Server 2012数据⽂件的⼀种逻辑管理单位,它将数据库⽂件分成不同的⽂件组,⽅便于对⽂件的分配和管理。
⽂件组主要分为以下两种类型:
主⽂件组:包含主要数据⽂件和任何没有明确指派给其它⽂件组的⽂件。系统表的所有页都分配在主⽂件组中。
⽤户定义⽂件组:主要是在CREATE DATABASE或ALTER DATABASE语句中,使⽤FILEGROUP关键字指定的⽂件组。
说明:    每个数据库中都有⼀个⽂件组作为默认⽂件组运⾏,默认⽂件组包含在创建时没有指定⽂件组的所有表和索引的页。在没有指定的情况下,主⽂件组作为默认⽂件组。 对⽂件进⾏分组时,⼀定要遵循⽂件和⽂件组的设计规则:
(1)⽂件只能是⼀个⽂件组的成员。
(2)⽂件或⽂件组不能由⼀个以上的数据库使⽤。
(3)数据和事务⽇志信息不能属于同⼀⽂件或⽂件组。
(4)⽇志⽂件不能作为⽂件组的⼀部分。
(5)⽇志空间与数据空间分开管理。
注意:系统管理员在进⾏备份操作时,可以备份或恢复个别的⽂件或⽂件组,⽽不⽤备份或恢复整个数据库
四.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.以界⾯⽅式创建数据库 下⾯在SQL Server Management Studio中创建数据库“db_database”,具体操作步骤如下。
(1)启动SQL Server Management Studio,并连接到SQL Server 2012中的数据库。
(2)⿏标右键单击“数据库”选项,在弹出的快捷菜单中选择“新建数据库”命令
(3)进⼊“添加库”对话框。在列表框中填写数据库名“db_database”,单击“确定”按钮,添加数据库成功
2.使⽤CREATE DATABASE语句创建数据库 语法如下:
CREATE DATABASE DB_InletStudent02 --创建数据库DB_InletStudent02
ON PRIMARY--主数据⽂件
(
--name⽂件名
NAME='DB_InletStudent03.MDF',
--指定主数据⽂件的路径
FILENAME='F:\VS\DB_InletStudent03.MDF',
--初始⼤⼩
SIZE=8MB,
--⽂件增长容量
FILEGROWTH=10%,
MAXSIZE=UNLIMITED
)
LOG ON(--事务⽇志⽂件
NAME='DB_InletStudent03.LDF',
FILENAME='F:\VS\DB_InletStudent03.LDF',
SIZE=8MB,
FILEGROWTH=10%,
MAXSIZE=UNLIMITED
)
六.修改,删除数据库
1.修改数据库
ALTER DATABASE  数据库名称
ADD FILE:指定要增加的数据库⽂件。
TO FILEGROUP:指定要增加⽂件到哪个⽂件组。
ADD LOG FILE:指定要增加的事务⽇志⽂件。
REMOVE FILE:从数据库系统表中删除指定⽂件的定义,并且删除其物理⽂件。⽂件只有为空时才能被删除。
ADD FILEGROUP:指定要增加的⽂件组
MODIFY FILE:修改指定⽂件的⽂件名、容量⼤⼩、最⼤容量、⽂件增容⽅式等属性,但⼀次只能修改⼀个⽂件的⼀个属性2.删除数据库
DROP DATABASE  数据库名称

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。