当前位置:文档之家› SQL server建立XX管理系统数据库

SQL server建立XX管理系统数据库


1、 创建数据库
每个数据库都由以下几个部分的数据库对象所
组成:
关系图、表、视图、存储过程、用户、角
色、规则、默认、用户自定义数据类型和用户
自定义函数。
(1) 使用Transact-SQL语言创建数据库,语法如下:
说明: 在Transact-SQL语言的命令格式中, 用[ ]括起来的内容表示是可选的; [,…n]表示重复前面的内容; 用< >括起来表示在实际编写语句时,用相应的内容替 代; 用{ }括起来表示是必选的; 类似A|B的格式,表示A和B只能选择一个,不能同时都 选。
项目二
建立XX管理系统数据库
项目二
任务一:了解数据库的基础知识 任务二:设计数据库 任务三:创建数据库 任务四:管理数据库
任务三:创建数据库
情景描述:
我们班的学生基本信息及成绩管理等相应的信息现在都是 由班长和学习委员、班主任进行手工管理,现希望建立一 个学生管理系统数据库,来管理我班的学生基本信息及成 绩。
子任务4: 创建一个包含文件组的数据库
该数据库名为 Studentsl3,主文件组包含文件
Studentsl30_data和 Studentsl31_data。文件组 Studentsl3_group包含文件Studentsl32_data和
Studentsl33_data。两个文件组数据文件的
FILEGROWTH 增量为 15%,数据文件的初始大小为10 MB。事务日志文件的文件名为Studentsl3_log,
以上两种文件在以后的学习中统一称为数据文件,数据文件是 SQL Server 2005中实际存放所有数据库对象的地方,正确设置数 据文件是创建SQL Server 数据库过程中最为关键的一个步骤。 由于所有数据库对象都存放在数据文件中,所以数据文件的容量 更要仔细斟酌。设置数据文件容量的时候,要考虑到未来数据库使 用中可能产生的对数据容量的需求,以便为后来增加存储空间留有 余地。但另一方面,由于数据文件越大,就需要SQL Server腾出越 多的空间去管理它,因此数据文件也不宜设置过大。
盘区(8个连续页面)
数据
页(8KB)
每行大小8060B
数据行存放在数据页中,但数据页只能存放除text、ntext和 image类型数据外的所有数据, text、ntext和image类型数据存储 在单独的页中,行不能跨页存储,页中每一行最多包含的数据量是 8060B; 注:
数据存放在连续的页中;
③ 事务日志文件 事务日志文件用来存放事务日志。每个数据库都有一个相关的事务 日志,事务日志记录了SQL Server所有的事务和由这些事务引起的数 据库的变化。由于SQL Server遵守先写日志再进行数据库修改的规则, 所以数据库中数据的任何变化 写到磁盘之前,这些改变先在事务日志 中做了记录。 每个数据库至少有一个日志文件,也可以拥有多个日志文件。日志 文件的默认扩展名为.LDF,例如:学生管理系统的日志文件名为 “School_log.ldf”。
①盘区和页面
盘区(区域)是连续8个页,可防止数据产生碎片,使SQL易于 寻找。每个盘区只能包含一个数据库对象。盘区是表和索引分配空间 的基本单位。 一个数据库是由文件组成的,文件是由盘区组成的,盘区是由 页面组成的。
② 数据库的存储结构
数据库
数据文件 .mdf 或.ndf
日志文件 .ldf
表、索引
子任务1:
用Create Database 语句创建一个以“byxy” 为名字的数据库,其数据文件和日志文件的大
小与Model数据库相同。
子任务2:创建了一个JXGL数据库
创建一个JXGL数据库,该数据库的主文件逻辑名称为 JXGL_data,物理文件名为JXGL.mdf,初始化大小为 10MB,最大尺寸为500MB,增长速度为10%;数据库 日志文件的逻辑名称为JXGL_log,物理名称为JXGL.ldf, 初始化大小为1MB,最大尺寸为5MB,增长速度为1MB。 程序清单:
1、 数据库文件
创建数据库时,系统会建立数据库的存储结构。存储结构分为逻辑 存储结构和物理存储结构。 数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成, SQL Server的数据库不仅仅只是数据的存储,所有与数据处理操作 相关的信息都存储在数据库中。实际上,SQL Server的数据库是由 诸如表、视图、索引等各种不同的数据库对象所组成。 数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的, 数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文 件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文 件。
复习:
创建一个Student1数据库,该数据库的主文件 逻辑名称为Student1_data,物理文件名为
Student1.mdf,初始大小为10MB,最大尺
寸为无限大,增长速度为10%;数据库的日 志文件逻辑名称为Student1_log,物理文件 名为Student1.ldf,初始大小为1MB,最大 尺寸为5MB,增长速度为1MB。
子任务3: 创建一个指定多个数据文件和日志文件的数据库 创建一个指定多个数据文件和日志文件的数据库,该数据库 名为students2,有一个10MB和一个20MB的数据文件以 及 两 个 10MB 的 事 务 日 志 文 件 , 数 据 文 件 逻 辑 名 称 为 student1 和 student2 , 物 理 文 件 名 为 student1 和 student2.。主文件是student1,由primary指定,两个数 据文件的最大尺寸大小分别为无限大和100MB,增长速度 为10%和1MB。事务日志文件的逻辑名为studentlog1和 studentlog2,物理文件名为studentlog1和studentlog2, 最大尺寸均为50MB,文件增长速度为1MB。其源程序为:
件名为Students,初始化大小为10MB,最大尺
寸为500MB,增长速度为10%;数据库日志文
件的逻辑名称为Students_log,物理名称为 Students,初始化大小为1MB,最大尺寸为5MB, 增长速度为1MB。
创建数据库的注意事项:
创建数据库需要一定许可,在默认情况下,只有系统管理员和数 据库拥有者可以创建数据库。数据库被创建后,创建数据库的用户自动 成为该数据库的所有者。 给数据库指定的名字遵循SQL Server 命名规范。 所有的新数据库都是系统样本数据库model的副本。 单个数据库可以存储在单个文件上,也可以跨越多个文件存储。 数据库的大小可以被增大或者收缩。 当新的数据库创建时,SQL Server自动更新master系统数据库中 的“Sysdatabases”系统表。 一台服务器上最多可能创建32767个数据库。
文件和文件组的设计规则:

文件和文件组不能由一个以上的数据库使用;


文件只能是一个文件组的成员;
事务日志文件不属于任何一个文件组。
注意:
数据和事务日志不能属于同一文件或文件组。数据 文件和日志文件总是分开存放的。
子任务2: 创建数据库
任务要求 :
创建一个Students数据库,该数据库
的主文件逻辑名称为Students_data,物理文
各参数说明如下:
Database_name:数据库的名称,最长为128个字符,并且要符合标识符 的命名规则。每个服务器管理的数据库最多为32767个。 ON:指定存放数据库的数据文件信息。<文件格式>列表用于定义主文件组 的数据文件,<文件组格式>列表用于定义用户文件组及其中的文件。 PRIMARY:用于指定主文件组中的文件。主文件组的第一个由<文件格式 >指定的文件是主文件。如果不指定PRIMARY关键字,则在命令中列出 的第一个文件将被默认为主文件。 LOG ON:指明事务日志文件的明确定义。如果没有本选项,则系统会自动 产生一个文件名前缀与数据库名相同,容量为所有数据库文件大小1/4的 事务日志文件。 NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称, 是数据库在SQL Server中的标识符。
2、数据库的存储结构
①盘区和页面
在创建数据库对象时,SQL Server会使用盘区和页面这种特殊的 数据结构给数据库对象分配空间。
在SQL中,数据存储的基本单位是页。页的大小是8KB,这样数
据库上每一兆字节是128页。每页的开始部分是96B的页首,用于存放 系统信息,如页的类型、页的可用空间、占据该页的数据库对象的对 象标识等。页有数据页、索引页、文本/图象页等8种。
日志文件不包含页,而是包含一系列日志记录; 所有新建的数据库都是model数据库的副本。
3、 数据库文件组 (文件组格式)
为了便于分配和管理,SQL Server允许将多个文件归 纳为同一组,并赋予此组一个名称,这就是文件组。 通过设置文件组,可以有效的提高数据库的读写速度。 例如有三个数据文件Data1.ndf, Data2.ndf, Data3.ndf, 分别位于不同的磁盘上,将这三个文件指派到文件组文件 组格式1中。假设在文件组文件组格式1上创建一个表,对 表中数据的查询将会分散到三个磁盘上,从而提高系统的 查询性能。
FILEGROWTH 增量为 15%,日志文件的初始大小为5 MB。
1. 创建数据库的SQL语句的语法格式:
CREATE DATABASE Database_Name [ ON [ PRIMARY ] [<文件格式> [,…n] [,<文件组格式> [,…n]] ] [ LOG ON {<文件格式> [,…n] } ]
其中:
<文件格式>::= [NAME=logical_file_name,] FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment] [,…n] <文件组格式>::= FLIEGROUP filegroup_name <文件格式> [,…n]
相关主题