SQLServer2005数据库应用技术清华大学出版社第三章销售管理数据库创建和管理SQLServer2005数据库应用技术清华大学出版社技能目标学会根据需求创建销售管理数据库;学会对销售管理数据库进行修改操作;会对根据实际需求进行配置和管理销售管理数据库。SQLServer2005数据库应用技术清华大学出版社系统数据库master数据库:是SQLServer系统最重要的数据库。记录SQLServer系统的所有系统级信息。model数据库:作为用户创建新数据库的模板。msdb数据库:是代理服务器数据库。它为报警、任务调度和记录操作员的操作提供存储空间。tempdb数据库:记录了所有的临时表、临时数据和临时创建的存储过程等保存临时对象的一个工作空间。SQLServer2005数据库应用技术清华大学出版社示例数据库AdventureWorks数据库AdventureWorksDW数据库SQLServer2005数据库应用技术清华大学出版社3.2数据库的存储结构数据库的存储结构可分为逻辑结构和物理结构。一、数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,SQLServer的数据库不仅仅只是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。每个数据库都由以下几个部分的数据库对象所组成:关系图、表、视图、约束、用户、角色、规则、默认、索引、用户自定义数据类型、用户自定义函数、存储过程和触发器等。SQLServer2005数据库应用技术清华大学出版社数据库的物理存储结构则是讨论数据库是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成,其中数据文件又分为主数据文件和次数据文件。一个数据库至少应该包含一个主数据文件和一个事务日志文件。二、数据库的物理结构SQLServer2005数据库应用技术清华大学出版社数据库文件数据文件是存放数据库数据和数据库对象的文件。一个数据库只能有一个主数据库文件,其它数据库文件被称为次数据库文件。1、主要数据文件主要数据文件包含数据库的启动信息,和部分或全部数据,并指向数据库中的其他文件。主要数据文件的文件扩展名是.mdf。2、次要数据文件次要数据文件是可选的,由用户定义并存储用户数据。次要数据文件的文件扩展名是.ndf。SQLServer2005数据库应用技术清华大学出版社3、事务日志文件用于记录所有事务以及每个事务对数据库所做的修改。每个数据库必须至少有一个日志文件,也可以为多个。事务日志文件的扩展名是.ldf。SQLServer2005数据库应用技术清华大学出版社物理文件每个数据库文件有两个名称:逻辑文件名(logical_file_name):是在所有Transact-SQL语句中引用物理文件时所使用的名称。即用户使用数据库文件时的称谓。物理文件名(os_file_name):是文件存储在物理介质上的名称,是包括目录路径的物理文件名。SQLServer2005数据库应用技术清华大学出版社数据库文件组SQLServer2005为了方便数据文件的分配和管理,将文件分成不同的文件组。日志文件不能属于文件组。1、主要文件组主要文件组(PRIMARY文件组)包含主要数据文件和未放入其他文件组的所有次要文件。每个数据库有一个主要文件组。2、用户定义文件组用户定义文件组用于将数据文件集合起来,以便于管理、数据分配和放置。SQLServer2005数据库应用技术清华大学出版社3.3销售管理数据库的创建使用ManagementStudio【例】为某公司创建一个名称为CompanySales数据库。使用CREATEDATABASE语句【例】创建销售管理数据库CompanySales。将该数据库的数据文件存储在D:\Data下,数据文件的逻辑名称为Sales_data,文件名为Sales_data.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;该数据库的日志文件,逻辑名称为Sales_log,文件名为Sales_log.ldf,初始大小为3MB,最大尺寸为5MB,增长速度为1MB。SQLServer2005数据库应用技术清华大学出版社关系数据库语言SQL关系数据库标准语言SQL(StructuredQueryLanguage),又称为结构化查询语言,是关系型数据库管理系统中最流行的数据查询和更新语言,用户可以使用SQL语言对数据库执行各种操作,包括数据定义、数据操纵和数据控制等与数据库有关的全部功能。SQLServer2005数据库应用技术清华大学出版社1.SQL的主要功能SQL包括了对数据库的所有操作。在功能上可分为3部分:1、数据定义功能(DataDefination):通过数据定义语言DDL(create、alter、drop)来实现。它用来定义数据库的逻辑结构,包括定义表、视图和索引。数据定义只是定义结构,不涉及到具体数据。数据定义语句的执行结果是在数据字典中记录下这些定义。SQLServer2005数据库应用技术清华大学出版社1.SQL的主要功能2、数据操纵功能(DataManipulation):通过数据操纵语言DML(select、insert、update、delete)实现。包括数据查询和数据更新两大类操作。数据更新包括插入、删除和修改。3、数据控制功能(DataControl):通过数据控制语言DCL(如:grant……revoke、begintransaction……commit/rollback)实现。包括对数据的安全性控制、完整性规则的描述以及对事务的定义、并发控制和恢复等。SQLServer2005数据库应用技术清华大学出版社2.SQL的特点1.综合统一2.SQL语言类似于英语的自然语言,简洁易用。3.SQL语言是一种非过程语言,即用户只要提出“干什么”即可,不必管具体操作过程,也不必了解数据的存取路径,只要指明所需的数据即可。4.SQL语言是一种面向集合的语言,每个命令的操作对象是一个或多个关系,结果也是一个关系。5.SQL语言既是自含式语言,又是嵌入式语言。可独立使用,也可嵌入到宿主语言中。自含式语言可以独立使用交互命令,适用于终端用户、应用程序员和DBA;嵌入式语言使其嵌入在高级语言中使用,供应用程序员开发应用程序。SQLServer2005数据库应用技术清华大学出版社3.3.2用SQL命令创建数据库CREATEDATABASEdatabase_name[ON[PRIMARY][filespec[,...n][,filegroup[,...n]][LOGON{filespec[,...n]}]]filespec::=(NAME=logical_file_name,FILENAME=‘os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])[,…n]SQLServer2005数据库应用技术清华大学出版社database_name:数据库的名称,数据库名称在服务器中必须惟一,并且符合标识符规则。最长为128个字符。ON:用来指定存储数据库数据部分的数据文件。n:占位符,表示可以为新数据库指定多个文件。LOGON:指明事务日志文件的明确定义。NAME:指定数据库的逻辑名称,这是在SQLServer系统中使用的名称,是数据库在SQLServer中的标识符。各参数说明如下:SQLServer2005数据库应用技术清华大学出版社FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。SIZE:指定数据库的初始容量大小。MAXSIZE:指定操作系统文件可以增长到的最大尺寸。FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。SQLServer2005数据库应用技术清华大学出版社创建销售管理数据库的SQL语句createdatabaseCompanySalesonprimary(name=Sales_data,filename='d:\data\Sale_data.mdf',size=10mb,maxsize=unlimited,filegrowth=10%)logon(name=Sales_log,filename='d:\data\Sale_log.ldf',size=3mb,maxsize=5mb,filegrowth=1mb)SQLServer2005数据库应用技术清华大学出版社3.4数据库的修改在SSMS利用数据库属性设置更改数据库各项参数。注意:在SSMS中利用数据库属性对话框不能修改文件的存储路径和物理名,另外只能增大文件的初始大小,不能减小。SQLServer2005数据库应用技术清华大学出版社修改数据库ALTERDATABASEdatabase_name{add_or_modify_files|add_or_modify_filegroups|set_database_options|MODIFYNAME=new_database_name|COLLATEcollation_name}SQLServer2005数据库应用技术清华大学出版社修改数据库语法形式如下:ALTERDATABASEdatabase{ADDFILEfilespec[,…n][TOFILEGROPfilegroup_name]|ADDLOGFILEfilespec[,…n]|REMOVEFILElogical_file_name|ADDFILEGROPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILEfilespec|MODIFYNAME=new_databasename}SQLServer2005数据库应用技术清华大学出版社filespec::=(NAME=logical_file_name[,NEWNAME=new_logical_name][,FILENAME=‘os_file_name’][,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])注意:用alterdatabase语句修改文件时可以修改文件存储的路径和物理名,但是虽然改了也不会生效,另外只能增大文件的初始大小,不能减小。例1:给CompanySales数据库先添加一个文件组,再添加一个次数据文件到新文件组alterdatabaseCompanySalesAddfilegroupscGoalterdatabaseCompanySalesaddfile(name=Sales_data2,filename=‘d:\data\_Sales_data2.ndf',size=10mb,maxsize=100,filegrowth=1)tofilegroupscSQLServer2005数据库应用技术清华大学出版社SQLServer2005数据库应用技术清华大学出版社更改数据库文件的逻辑名alterdatabaseCompangSalesmodifyfile(name=Sales_data2,newname=Sale_data21)SQLServer2005数据库应用技术清华大学出版社更改数据库名称Sp_renamedb原数据库名,新数据库名SQLServer2005数据库应用技术清华大学出版社例子:将数据库名mytest更改为mytest1。AlterdatabasemytestMODIFYNAME=mytest1Sp_renamedbmytest,mytest1SQLServer2005数据库应用技术清华