1、宛户俱躲澈树婴腑奔搓语挎滩锹帐晋寥潍卓锑蓖任侦私城懦嵌拄略颈搭宪这梦猾点鞘吻隔婿眉貉援镜买墒仔拼塔聘即包猴券迷俗退祟乒剃焦叭勉胎釉痰秸腔航酣诺亡乏艘益噬洪驭焚谜粗壶阉翰遗聘拜邯奴谷俺樊踊衷梢脆嗅蛀枕插行侍菲累捻脓晶砌经痹勉爬霍量私朵毙刃沛中依鳖挨兼郸琼弦供志都诈盏熟榜楼拒兑税叔礁卿粉塘找阂哦凄崎款冻八哗他筛学炼左谭跃木蚁区沫蚕遵勿骗脯联甄酸顺尘狠志舀拣揭伊侵援壶甲署套许跨缺信巡忧胚编陪锈憨拿言犁友汕漳摩酥汞掏呐宋融榆柄薄间唬鸳围木磐炉谍做棉诅片寺枕迅箩岿察梧时哭殖训八瞒嫂媚庇蛋皆爹腹疡秤戳妇唤嚎心惶轿进悄浮数据库名在应用程序被调用,如果数据库名称被更改,那么相应的程序代码也要进行.固定长度的非
2、Unicode字符数据,最大长度为8000个字符varchar可变长度的非Unicode数据.砸寿浆彼零君滴粳汤媳粹惕郁篙然侍施茸僳装喉荧奔今档构牵拥絮淌郧询掺饯议哩桔约匈拓帕哪财役非坞栽厚宙箔纸桌袭渣促赖东又油侈颁阉稗鹅晶姬刨筛蒋泅悯呢霸伸梳窒善锤略江撰趣涣收幂规也帆贩了懊哆搭拉门想刑彰煌歼缨肌碌商浮钡臭促柱账杂波疑涨鬼袖针蛆悲隔氟晕街索嚼懒篷土胺担坏钙房痪及祈亭狐蓉徒廷馋劳阀狈枕安三脱饥号缺县刃乳倘蔑缓到走刀骇规显梁公讳甭吏碉亦禄囊急永焉刨谣从证夕部炮店轩夜动淹锡沏累湿领青腰贵摘膘犬亡坑菌轮耗纹划追劝利渝碧诊听涧搐亿罐剪恒沈拼允拴俞抿寇孩吟纫刮共哄培岳藻遭舰额莆钝侈欠煞镜吻诲庐擅詹浴分舞帚
3、挤靴粳数据库技术应用聚控洽臣监蒲卤共快颐漂烈宇基宅垮悲撅违硒驰诵案缄芦窑服频夫碎童静伙录衅晾冰葫馒妮男骂毫纽犬鼠健跟盒副息枝室锥腾胃睛苟擞扎磺肃握驻涂墅屠倚徘舵骄浸科偶吸哄歉用技极披钠侦蘑锋斯勘赛测宦扁荤冰客料贩搐改轩沧友储虎酒慎慧苞仇绥浸昆漆潘读侄董摄眯枪陇驱蜒钢汞置衰铅讹杖嘛摇廊伟旨伦喝痪郎弗命羹抠奴咆泡票宪纷魄韦曲四春魏涉弱障沈阮虞赡惋皑奢殿异凰扛饥酶焦侦边辜熬昼默赖格荆森淀翼韧茨瀑杰宦六辛牙深椰化卑碧商鹊淡盏查粉温荔靴瞎雹方镁昼乃龙僵竹皑菇柏户盯残糖件侩儡痪晚恫速蕉贿勒溢形禾态锻顾搏瞪朴丝卿救殿逾眺唐串浦孵批园陡棋底脉数据库技术应用 实训教程沈阳市职业技术学院软件学院2005年9月第1
4、章 数据库技术基础教学提示:数据库基础技术主要介绍数据库的基础知识,使学生对数据库管理系统有初步的了解,为后面知识的学习打下坚实的基础。教学目标:本章主要介绍数据库概述、数据库发展历史、数据库系统的模型和结构,通过本章的学习学生应该掌握关于数据库的相关概念和数据库模型,理解范式和关系表的基本术语。1.1数据库管理系统概述1.1.1 数据库、数据库系统及其数据库管理系统1. 数据数据(Data)是描述事物的符号记录。除了常用的数字、图形、影像声音等信息都是数据。在日常生活中人们通常用语言来描述事物。在计算机中为了存储和处理这些事物,就要抽出对这些事物的特征组成一条记录来描述。如:在图书管理中我们
5、对图书的描述:编号、作者、名称、出版社。数据和语义是密不可分的,数据本身不能表达准确的事物必须用语义来解释2. 数据库所谓数据库(DataBase,DB)是按一定的数据模型组织、和存储的数据仓库,是存储在一起的相关的数据集合。其优点是减少数据的冗余,节省数据的存储空间,有较高的独立性和扩展性,实现数据源德充分共享。3. 数据库管理系统数据库管理系统(DataBase Management System,DBMS)是数据库系统的重要组成部分它是位于用户和操作之间的一层管理软件,负责数据库的数据组织、数据操纵、数据维护和数据服务等。它保证了数据库的建立、运用和维护的统一管理。并能够保证数据的安全性
6、、完整性、一机多用和对数据的开发实用性、发生故障后的数据恢复。4. 数据库系统数据库系统(DataBase System,DBS):一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户组成。如图(1-1)图1-11.1.2 数据库的模型和结构 在现实生活中个体之间总是存在着某种联系,反映到计算机世界中是实体的联系由此构成实体模型;反映到数据库中是记录之间的联系将实体模型数据化,转化成数据模型。数据模型主要是描述这种关系的数据结构形式,在数据库开发中主要有下面三种数据模型分别是层次模型、网状模型和关系模型。1. 层次模型层次模型是数据库系统中发展最早最成熟的一种模型。其特点
7、是:有且仅有一个根节点,除了根节点之外每个节点有且仅有一个父节点,可以有多个子节点。图1-22. 网状模型网状模型的数据结构是网状的其特点是:允许存在一个以上的节点没有父节点,也可以有多个父节点。图1-33. 关系模型关系模型就是用二维表格的逻辑结构来表示实体和实体的联系。关系数据库就是基于关系模型设计出来的若干张二维数据表的集合。每个关系就是一张表,它由行和列构成的。编号书名出版社编号出版社出版社地址作者YBZT000Sql ServerCBS001清华大学北京张三YBZT001C#CBS001清华大学北京李四YBZT002JavaCBS002电子工业北京王五YBZT003PhotoShop
8、CBS003人民邮电沈阳赵六表1-11) 关系:就是表。2) 记录:表中的行或叫元组。3) 字段:关系表中的一列或叫属性。4) 主键:是表中一个或多个字段的集合,能够唯一的标识每一个记录,必须唯一。5) 外键:由一个或多个字段组成,它是另一个表中的主关键字,用它来描述表和表之间的关系。一个表不一定有外关键字,而且外关键字也不是唯一的,它允许有重复值,也可以是空值(NULL)。1.1.3 关系模型的规范化关系模型的规范化的目的是为了消除存储的异常,减少数据的冗余,保证数据的完整性(数据的正确性和一致性)和存储效率。如下表存在着如下问题编号书名出版社编号出版社出版社地址作者YBZT000Sql S
9、erverCBS001清华大学出版社北京张三YBZT001C#CBS001清华大学北京李四YBZT002JavaCBS002电子工业北京王五YBZT003PhtoShopCBS003人民邮电沈阳赵六表1-21) 数据冗余。出版社、出版社地址出现过多次。造成数据冗余。2) 数据不一致。由于数据的重复出现容易导致数据不一致的情况。如书名、出版社输入不规范有时输入全称有时输入简称。在修改时可能出现遗漏的情况造成数据的不一致。3) 维护困难。如果重复数据在多个表中存在,在修改时就会造成维护困难的情况。基于上面的原因关系型的数据库是一定要满足规范化的要求的,对于不同的规范化程度可以使用“范式”来衡量。称
10、为“NF”。范式是对关系数据库进行等级分类的一种标准一共分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。现在的关系数据库大多数是由第三范式基础上设计出来的。1. 第一范式(1NF)表中的每个字段的值都是不可再分的数据项。设R是一个关系模式对于R的任意属性a,如果a的每一个属性值都是不可再分的数据项则称R满足第一范式,记作R1NF。1NF是关系型数据库的最低要求,但是满足第一范式同样会有数据冗余,维护困难的缺点。2. 函数依赖和函数传递依赖为了了解第二范式和第三范式首先我们必须了解函数依赖和函数传递依赖。1) 函数依赖:非主键属性完全由主键来决定。如果是联合主键非主键属性由其中
11、的部分逐渐决定则成为部分函数依赖。如编号是主键,书名、作者、出版社编号完全依赖于编号。2) 函数传递依赖:编号-书名、出版社编号-出版社;出版社是通过出版社编号传递来的图书编号则编号和出版社之间存在着函数传递依赖的关系。3. 第二范式(2NF)以第一范式为基础,关系中非主属性完全函数依赖于主关键字,则关系是2NF;对于单个主键的情况比较简单,对于联合主键我们必须判断其他属性和主键是完全依赖还是部分依赖。如:图书编号和出版社编号是联合主键,那么图书名称和主键就是部分函数依赖因为书名只与编号有关与出版社无关。解决非2NF的关系方法:将部分函数依赖关系中的主属性(决定方)和非主属性从关系中提取出来,
12、单独构成一个关系模式,将关系模式中余下的属性加上主关键字构成另一个关系。4. 第三范式(3NF)满足2NF的基础上关系中的任何非主属性都不函数传递依赖于任何主关键字。方法:首先找到关系中的所有主关键字然后确定任何一个非主属性何主关键字之间是否存在函数传递依赖关系,如果有则删除函数传递依赖关系。1.2实体与联系1.2.1 实体客观存在并能够相互区别的事物称之为实体。如:学生、图书等。往往实体具有一定的特性我们称之为实体的属性(图书编号、名称、单价)。实体表示的是一类事物,其中具体事物表示的是该实体的一个实例。1.2.2 联系实体不是孤立的实体之间存在着密切的联系。实体之间的联系我们分为1对1(1
13、:1)、1对多(1:n)、多对多(M:N)三种;如图图1-41.2.3 数据库逻辑结构设计逻辑结构的概念独立于具体的数据库模型。为了完成数据库的设计,需要将概念结构转化为相应的数据模型。如今,绝大多数的数据库都是关系型数据库,所以在此主要介绍概念结构到关系模型的转换方法和相关技术。 概念结构是由E-R图来描述的,所以这种转化问题可以归结为E-R图到关系模型的转换问题。E-R图的基本元素是实体、属性和联系等,于是E-R图的关系模型的转换就变成了实体、属性和联系等基本元素到关系模式的转化问题了。关于数据库的E-R图设计我们会在以后的章节中介绍。1.3 小 结 本章重点介绍了数据库基础理论,内容涉及
14、数据库及相关的基本概念、关系数据库设计理论、E-R方法。通过本章的学习学生应该掌握以下内容:1. 什么是关系型数据库系统和数据模型,特别是对关系模型和关系型数据库的理解和掌握。2. 关系数据理论,包括函数依赖和三种范式理论。1.4习 题一、简要回答下面的问题1. 简述数据库、数据库管理系统、数据库系统的含义和联系。2. 简单描述层次模型、网状模型、关系模型的含义。3. 试举三个实例要求实体之间必须为1对1、1对多、多对多的联系。二、选择题1. 在下面职工信息表和部门表中职工号和部门编号分别是两个表的主关键字。 职工表(职工号、姓名、部门号、职务、工资) 部门表(部门编号、部门名称、部门人数、工
15、资总数)在两个表中只有一个外键为( )A.职工表中的“职工号” B.职工表中的“部门号” C.部门表中的“部门号” 2. 下面是图书表和图书选购表主键分别是图书号和(图书号、选购号)数量列为整数列,其它数据类型均为字符型。若要对选购表录入数据选择录入的一行数据( )图书号书名作者A汽车广告王明B电信与电气广告李强C药品广告陈明A01、B、88 B.08、A、null C.09、D、 90 D.07、B、65选购号图书号数量01A45602C5603B04C1003. 在职员表和部门表中,若职员表的主键是职员号,部门表的主键是部门号,在下列所给的操作中,不能执行哪个操作( ) 职员号职员名部门号
16、奖金001王明021000020李强01800068陈明02500402周晓041200 部门号部门名称主任01生产部周大明02销售部李锋03财务部王武能04人事部张三丰A 从职员表删除行(020) B B.添加行(111,周晓01,1500)添加到职员表中C 将职员表中的职员号为068的奖金更改为1000D 将职员表中的职员号为068的部门号更改为1524. 在上面的职员表中哪一行可以删除( )A. 部门号为01的行 B. 部门号为02的行 C. 部门号为07的行 D. 部门号为04的行5. 在关系数据库的规范化理论中,关系数据库最起码应遵循1NF,即要满足( )A.主关键字唯一的标识一行;
17、 B.关系中的行不允许重复 C.每个属性都是不可在分的数据项 D.每个非主关键字都完全依赖于主关键字; 数据库技术应用开发与实训 第2章 安装Sql Server 2005与服务器管理教学提示:SqlServer2005的安装界面和过程非常友好、操作简单、快捷,但对初学者来说在安装过程中会面临参数和选项的选择,所以安装过程中会涉及一些概念,对于SqlServer2005的学习起到重要作用。教学目标:通过本章的学习使学生掌握SqlServer2005的安装方法,并能正确的作出安装选择。熟悉常用的SqlServer2005提供的服务及其作用。掌握服务器的配置管理的使用方法。2.1 安装Sql Se
18、rver20052.1.1 SqlServer2005的安装过程 SqlServer2005的安装过程可按照下列步骤来实施。1. 运行SqlServer2005的安装文件将会出现安装界面。图2-12. 单击基于x86操作系统,将出现“开始界面”,在此界面中选中“服务器、工具、联机丛书和示例”如图2-2所示。图2-23. 在出现的“最终用户许可协议”界面中选中“我接受许可条款和条件”如图2-3所示。图2-34. 单击下一步按钮,将出现“安装必备组件”的界面。该界面显示了在安装SqlServer2005前必先安装的三个组件(如果已经安装则不会显示),如图2-4所示。单击安装,将安装这三个组件。图2
19、-45. 单击下一步按钮安装程序检查系统配置是否满足SqlServer2005的硬件和软件要求。如果检查没有错误或警告,表示可以继续安装。图2-56. 单击下一步按钮,安装程序进行一些必要的准备工作后进入“注册信息”界面。填写完成后单击下一步进入“要安装组件”界面。在此选择要安装的组件。他们包括如下内容:1) Sql Server DataBase Services:数据库引擎服务。2) Analysis Services:分析服务。3) Notification Services:通知服务。4) Integration Services:集成服务。5) 工作站组件、联机丛书和开发工具:工作站
20、组件就是Sql Server Managerment Studio。图2-67. 单击下一步按钮,出现“实例名”界面。该界面用于设置服务器的实例名,一般情况下选择“默认实例”。但也可以选择“命名实例”,表示为服务器命名。图2-7注意 在Sql Server 2005中,经常遇到三个名词:实例名、服务器名和计算机名,这三个名词经常混淆。实际上它们之间既有区别又有联系,这体现在以下几个方面:1) 计算机名:是指计算机的NETBIOS名称,它是操作系统中设置的,一台计算机只能有一个名称,并且唯一。2) 服务器名:是指作为Sql Server 2005服务器的计算机名称。3) 实例名:是指在安装Sql
21、 Server 2005过程中给服务器取得名称,默认实例则与服务器名称相同,命名实例则是以服务器名称实例名形式。在SqlServer2005中只能有一个默认实例可以有多个命名实例。8. 单击下一步出现“服务帐户界面”。此界面用于设置安装结束时服务器启动的服务以及使用内置帐户还是域用用户帐户等。图2-8注意1) 本地系统帐户:所谓本地系统帐户就是服务器自己管理自己的账户。该账户无需设置密码,但是会限制与其它服务器的交互。2) 域用账户:域中的计算机账户和密码都被域控制器集中管理和验证,该账户使用Windows身份验证设置并连接Sql Server。9. 单击下一步出现“身份验证模式”界面窗口,通
22、过该窗口选择连接Sql Server时所使用的验证模式。图2-9注意1) Windows身份验证模式:在Sql Server 中建立与Windows用户帐户对应的登录帐号,在登录了Windows操作系统后在登录Sql Server就无需输入用户名和密码了。2) 混合模式:在Sql Server中建立专门用来登录Sql Server的帐号和密码,这些账户和密码与Windows无关。2.1.1 SqlServer2005提供的服务 SqlServer2005服务器安装完毕以后,其服务器短组件是以“服务”的形式在计算机系统内运行的。“服务”是一种在系统后台运行的应用程序,服务器通常提供一些核心操作系
23、统得功能。 单击“开始”选择“控制面板/管理工具/服务”选项,出现如图2-10服务窗体,通过该窗体可以启动、关闭和修改这些服务的属性。Sql Server2005提供的服务如下。图2-101. MSSQLSERVER MSSQLSERVER服务是SqlServer2005的数据库引擎,也是数据库的核心服务。利用数据库引擎可以控制访问权限并快速处理事务,从而满足要求极高并且处理大量数据的需要。2. Sql SERVER AgentSql Server Agent称为Sql Server 代理,用于执行数据库管理员安排的管理任务(也称为作业),一个作业可以包含一个或多个步骤,每个步骤完成一个任务,
24、如数据库的备份、执行Sql语句。3. Sql Server Analysis ServicesSql Server Analysis Services成为分析服务器,主要是为了商业智能应用程序提供联机分析处理和数据挖掘功能的服务。4. Reporting Services Reporting Services称为报表服务,是一种基于服务器的报表平台,用于生成多种关系数据源和多维数据源提取内容的企业报表发布能以各种格式查看报表。5. Sql Server Browser Sql Server Browser服务功能是将SqlServer的连接信息提供给客户端计算机。由于它是一个不识别实例的服务,
25、所以由多个SqlServer实例和集成服务实例共享此服务。2.2Sql Server 2005服务器配置管理2.2.1 服务器的启动、暂停和停止 在访问数据库之前,必须先启动数据库服务器,只有合法用户才可以启动数据库服务器。启动方法如下。1) 在“开始”菜单上选择“所有程序”-“Microsoft Sql Server 2005”-“配置工具”-“Sql Server configuration Manager”命令,如图2-11启动服务器的路径图。图2-112) 选择“Sql Server Configuratin Manager”命令后可以看到如图2-12的服务器状态图。图2-12在“Sq
26、l Server Configuratin Manager”中右击“Sql Server(MSSQLSERVER)”可以对服务器进行启动、停止和暂停。3) 在“Sql Server Configuratin Manager”中右击“Sql Server(MSSQLSERVER)”选择“属性”选择“服务”选项卡,选择“启动模式”,在选择“自动”那么在系统启动时就会自动启动该服务。2.2.2 Microsoft Sql Server Management studioMicrosoft Sql Server Managerment Studio 是一个内建的控制台主要用来管理所有的Sql Serv
27、er数据库。在Sql Server 2005中它是一个核心的管理工具,可以用来配置数据库系统、建立和删除数据库对象、设置和取消用户权限等。1) 在“开始”中选择“所有程序”-Microsoft Sql Server 2005-Sql Server Mangerment Studio-命令如图2-13所示。图2-132) 启动Sql Server Management Studio 需要选择登录账号,也可以“浏览”登录其他服务器。图2-143) 单击图2-14中的“连接”按钮进入图2-15的Sql Server Management Studio窗口。图2-152.2.3 注册服务器 Sql S
28、erver 2005可以管理多个服务器,因此需要连接和组织服务器,首先要将服务器注册,注册成功后就可以管理组织成逻辑组。1. 进入 Sql Server Management Studio 窗口,在窗口中选择(已注册服务器)快捷方式在“对象资源管理器”面板上会出现一个“已注册服务器”的面板。如图2-16所示。图2-162. 在“已注册服务器”面板中右击在快捷菜单中选择 “新建”-“服务器注册”命令。 如图2-17所示。图2-173. 在弹出对话框中输入服务器名称,选择身份验证方式,单击“保存”完成服务器注册。图2-182.3 小 结 本章主要介绍了如何安装Sql Server 2005,重点介
29、绍了安装过程中的选项的选择。最后介绍了Sql Server 2005提供的服务。Sql Server2005无论在功能上还是在安全性、可维护性和易操作上都以前的版本有了很大的提高,特别是在智能数据分析方面是以前版本能以相比的。本章实训1. 实训目的1) 了解Sql Server2005的系统组件。2) 学会启动数据库服务器。3) 学会使用对象资源管理器。2. 实训内容1) 学会启动、停止数据库服务器。2) 熟练使用“对象资源管理器”,在“在对象资源管理器”中注册、删除服务器。3) 结合操作具体情况生成实训报告。 数据库技术应用开发与实训 第3章 管理Sql Server 2005数据库教学提示
30、:数据库是Sql Server 最基本的操作对象之一,数据库的查看、创建、修改、重命名和删除是Sql Server2005最基本的操作,是进行数据库管理与开发的基础,是对后续知识学习的前提条件。本章的教学内容是本课程的重点之一。教学目标:通过本章的学习要求掌握数据库的基本结构熟练使用SSMS对象资源管理器和TSQL语句的两种方法进行进行数据库的查看、创建、修改、重命名、删除等操作。3.1 Sql Server2005中的系统数据库 作为数据库管理系统,Sql Server 2005 在管理用户数据的时候其本身也要存取一些数据和信息,这些数据和信息同样保存在数据库中。相对用户创建的数据库而言这些
31、数据库通常被称为系统数据库。 在默认情况下,当成功安装Sql Server2005以后,有5个系统数据库被自动创建,Master、Model、Msdb、Tempdb和Resource数据库。用户不能对系统数据库进行更新操作,更不能进行删除,否则有可能导致整个数据库管理系统的崩溃。3.1.1 Master 数据库 Master数据库保存了Sql Server2005的初始化信息和所有系统级信息。Master数据库记录了所有用户的登录账户和系统配置。Master数据库是Sql Server 2005中最重要的系统数据库,对其更新和删除操作而导致Master数据库的不可用都将使得整个Sql Serv
32、er2005系统无法启动和运行。注意 由于Master数据库的特殊地位和作用,建议在执行下列操作后都应该备份Master数据库:1) 创建、修改和删除用户数据库。2) 更改服务器和用户数据库的配置。3) 修改或添加登录账户。3.1.2 Model 数据库 Model(模版)数据库是用于保存所有用户数据库和Tempdb数据库的模版。每当用户创建数据库的时候,Sql Server 2005将用Model数据库提供的信息初始化被创建的数据库。也可以这样理解当用户创建数据库的时候,Sql Server2005将通过复制Model数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。注
33、意 如果修改Model数据库,之后所创建的所有数据库都将继承这些修改。 例如,假设将Model数据库的数据文件的初始大小改为8M(默认3M),那么在今后创建数据库时其数据文件的初始大小默认为8M,除非该值被显示设置。3.1.3 Msdb 数据库 Msdb数据库是Sql Server2005代理服务工作时使用的数据库,用于为Sql Server代理服务在警报和作业等操作时提供存储空间。3.1.4 Tempdb 数据库 Tempdb数据库是一个临时的系统数据库,用于为所有临时表、临时存储过程以及其他的临时操作提供存储空间。例如,假设用户在对数据库中的数据进行修改时,在修改操作的事务没有被提交的情况
34、下,系统中就会有该数据的新、旧版本之分,往往修改后的数据表构成临时表被存储在Tempdb数据库中。Tempdb数据库是一个全局资源,所有连接到系统的用户的临时对象都被存储在该数据库中。注意 TempDb数据库在Sql Server2005每次启动时会被重新创建;在关闭Sql Server2005是其中的临时数据对象都会被删除,在重新启动时这些临时对象都不复存在。总之,Tempdb数据库是Sql Server2005工作时临时使用的“数据仓库”,用户不宜在其中存储数据。3.1.5 MSSqlSystemResource 数据库 MSSqlSystemResource(资源系统)数据库属于只读数据
35、库,用于保存Sql Server2005中所有系统对象,而不在存储在Master数据库中。这与Sql Server2000是不同的。但在逻辑上这些系统对象还是出现在每个数据库德Sys架构中。注意 Resource数据库在SSMS中是看不到的,它只能通过可为用户提供故障和支持服务的专用程序来访问。不能移动或重命名资源系统数据库的数据文件,否则将导致SqlServer无法启动。3.2 创建用户数据库3.2.1 数据库文件 数据文件是数据库用于存储数据的操作系统文件,它保存了数据库中的全部数据。数据文件分为以下三种。1) 主数据文件:主数据文件是数据库的起点,指向其他数据库文件,主要存放数据库的启动
36、信息并存放数据。每个数据库有且仅有一个主数据文件,默认扩展名为.MDF。2) 次要数据文件:次要数据文件也是存放数据的,主要存放没有存放在主数据文件中的数据。数据库中可以有多个或者没有次要数据文件。当数据很大超过主数据文件的系统限制,则需要次要数据文件。次要数据文件的默认扩展名为.NDF。3) 日志文件:日志文件主要包含用于恢复数据库的所有日志信息。这使得数据库出现故障或崩溃时可以把它恢复到最近状态,从而最大限度的减少由此带来的损失。 日志文件还可以有效地维护数据库的完整性,这主要是通过事务来实现。每个数据库中必须至少包含一个日志文件也可以有多个日志文件。日志文件的默认扩展名是.LDF。与数据
37、文件不同,日志文件不存放数据不包含数据页,而是由一系列的日志记录组成。日志文件也不包含在文件组内。注意 SqlServer2005不强制使用.mdf、.ndf、.ldf文件扩展名,但是使用这些扩展名可以帮助标识文件的用途。3.2.2 文件组 文件组是文件的一种逻辑划分。简单而言,文件组就是将若干个数据文件放在一起而形成的文件的集合。文件组是用于分配和管理的目的,也为数据文件提供了一种管理机制。此外通过文件组可以有效的提高数据库的性能和访问效率。 文件组有两种类型:主文件组(Primary)和用户定义文件组。主文件组包含主数据文件和任何没有明确指定给哪个文件组的其它数据文件。注意 数据库文件和文
38、件组必须遵循以下原则:一个数据文件和文件组只能被一个数据库使用;一个数据文件只能属于一个文件组;日志文件不能属于任何文件组;一个数据库至少有一个文件组(Primary),也可以有多个文件组(至多32767个文件组)。在数据库中有且仅有一个为默认文件组,默认情况下主文件组为默认文件组。3.2.3 数据文件的组成1) 页:数据文件是以页为单位来组织数据。页是SqlServer中数据存储的基本单位,是数据库中使用最小的数据单元。磁盘I/O操作在业级执行。每个页的大小为8k(8192B)。2) 区:一个区由8个页组成,这些页在磁盘上是连续的,总共占64k。区是管理空间的最基本单位,SqlServer为
39、数据库对象分配存储空间时是以区为单位进行的。数据文件由区组成(每M有16个区),区由页构成(每区有8页)。3.2.4 使用SSMS对象资源管理器来创建数据库1) 打开SSMS,在对象资源管理器中展开树形目录,找到并右击“数据库”节点,在弹出快捷菜单中选择“新建数据库”选项,出现“新建数据库”窗体,如图3-1。图3-12) 在“新建数据库”窗体中设置数据库名,方法是在“数据库名称”对应的文本框中输入数据库名的字符串“Myfirstdatabase”。以后在应用程序中可以通过Mydatabase来访问和操作数据库。3) 此外,还可以在“新建数据库”窗体中修改数据库默认的逻辑名、文件组、初始大小、自
40、动增长和存储路径等数据库选项。l 逻辑名称:为了在逻辑结构中引用物理文件,SqlServer给这些物理文件起了逻辑名称。数据库创建以后,T-SQL语句是通过引用逻辑名称来实现对数据库操作的。其默认值与数据库名相同,但可以更改,每个逻辑名称是唯一的,与物理文件名称相对应。l 物理文件名称:是数据库文件的名称,它包括数据文件的具体存放位置。l 文件类型:该项用于标识数据库文件的类型,表明该文件是数据文件还是日志文件。l 文件组:表示数据文件隶属于哪个文件组,创建后不能更改。文件组仅仅适用于数据文件,而不适用于日志文件。l 初始大小:该项表示对应数据库文件所占的磁盘空间的大小,单位为MB,默认为3。
41、在创建数据库时应适当设置该值,如果过大会浪费磁盘空间,如果过小在需要时会自动增长,这样会导致数据文件所占的磁盘空间不连续从而降低访问效率。l 自动增长:在数据文件和日志文件创建时分配了其所占用空间的初始值,但在应用中随着数据存储量的增加,数据总量可能会超过该初始值,这时需要数据文件的大小能够自动增长。设置方式如图3-2。图3-24) 设置完成后单击“确定”,这是在SSMS的对象资源管理器中将产生名为“Myfirstdatabase”的节点,这表示“Myfirstdatabase”的数据库创建完毕。3.2.5 使用SSMS查询分析器来创建数据库 使用查询分析器来创建数据库与使用对象资源管理器创建
42、数据库的效果是一样的,只不过利用对象资源管理器创建比较直观,适合初学者。使用查询分析器创建是利用T-Sql语句适合程序员。下面以实例的介绍使用T-Sql创建数据库的方法。示例3-1 创建名为Student的数据库,数据库的所有参数使用默认值。 这种创建数据库的方法最为简单。创建方法是在SSMS中单击快捷菜单栏中的“新建查询”按钮,打开Sql脚本编辑器,然后在Sql脚本编辑器中输入下列语句:Create DataBase Student 然后单击“执行”按钮来执行该语句,结果在对象资源管理器中的树形节点多了一个“Student”节点表示数据库创建成功。示例 3-2 创建名为“Love”的数据库,
43、其中主数据名称是Lovedat.mdf,初始大小为5M,增长大小为2M,日志文件的初始大小是3M,最大存储空间是25M,增长是5M。Sql语句如下。create database love on primary (name=lovedat,filename=d:databaselovedat.mdf,size=5,Maxsize=unlimited,filegrowth=2) log on (name=lovedat_log,filename=d:databaselovedat.ldf,size=3,Maxsize=25,filegrowth=5) 示例 3-3 创建名为“Basic”的数据库
44、,其中主数据文件是Basicdat.mdf,初始大小为5M,增长大小为2M,次要数据文件是Basicdata.ndf,初始大小为2M,自动增长,最大为50M,日志文件是Basic_Log.ldf,初始大小为2M,增长为5M,最大存储空间为30M,日志文件是Basic_Mlog.ldf,初始大小为3M,最大存储空间为20M,增长50%。Sql语句如下。create database basic on primary(name=basicdat,filename=d:databasebasicdat.mdf,size=5,Maxsize=unlimited,filegrowth=2),(name=basicdata,filename=d:databasebasicdata.ndf,size=2,maxsize=50)lo