《表格模板-chapter05数据库与表的管理 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-chapter05数据库与表的管理 精品.ppt(96页珍藏版)》请在第一文库网上搜索。
1、数据库与表的管理 本书提供一个销售管理系统的示例数据库本书提供一个销售管理系统的示例数据库mySales,其,其数据表结构如第数据表结构如第4章所述。本书第章所述。本书第5章后数据库技术与应用章后数据库技术与应用部分的绝大部分实例基于该数据库。该数据库生成安装方部分的绝大部分实例基于该数据库。该数据库生成安装方法如下:法如下: 打开打开SQL Server数据库管理系统,使用数据库管理系统,使用SQL Server身份验证,输入服务器名称、身份验证,输入服务器名称、sa和密码。也可以和密码。也可以使用使用windows身份验证,只需输入服务器名称。具体如身份验证,只需输入服务器名称。具体如下图
2、所示:下图所示: 实例数据库实例数据库mySales的安装方法的安装方法实例数据库实例数据库mySales的安装方法的安装方法实例数据库实例数据库mySales的安装方法的安装方法 在在SQL Server2008中打开本书配套资料中的中打开本书配套资料中的mysales.sql文件,然后按文件,然后按F5或或“执行执行”按钮运行该文按钮运行该文件。稍后(大约件。稍后(大约10秒),系统提示秒),系统提示“命令已成功完成命令已成功完成”,表明数据库已经生成完成,这时,在左边的下拉式表明数据库已经生成完成,这时,在左边的下拉式菜单中可以找到菜单中可以找到mysales数据库,至此数据库已经生成数
3、据库,至此数据库已经生成完毕。具体如下图所示:完毕。具体如下图所示:实例数据库实例数据库mySales的安装方法的安装方法第第5 5章章 数据库与表的管理数据库与表的管理数据库的数据库的创建与维护创建与维护 表的创建表的创建与维护与维护表数据表数据的更新的更新创建数据库创建数据库 第第五五章章修改数据修改数据删除数据删除数据创建表创建表修改表修改表删除表删除表表概述表概述数据类型数据类型插入数据插入数据数据完整性数据完整性约束约束唯一性约束唯一性约束检验性约束检验性约束缺省约束缺省约束主键约束主键约束外键约束外键约束非空约束非空约束5.1.2 创建数据库创建数据库 基本语法:基本语法:CREA
4、TE DATABASE database_name ON ,.n LOG ON ,.n FOR LOAD | FOR ATTACH := ( NAME = logical_file_name , FILENAME = os_file_name , SIZE = size , MAXSIZE = max_size | UNLIMITED , FILEGROWTH = growth_increment ) ,.n 主要参数:主要参数: NAME:指定数据文件的逻辑名。在创建数据库后,:指定数据文件的逻辑名。在创建数据库后,可以引用文件逻辑名进行修改和删除操作。逻辑名在数据可以引用文件逻辑名进行修改
5、和删除操作。逻辑名在数据库中必须唯一。库中必须唯一。5.1.2 创建数据库创建数据库 FILENAME:指定数据文件在操作系统中的路径和:指定数据文件在操作系统中的路径和物理文件名。文件所在的路径必须是在创建数据库时已经物理文件名。文件所在的路径必须是在创建数据库时已经存在的一个文件目录或磁盘符号。存在的一个文件目录或磁盘符号。 SIZE。指定文件的初始大小。文件大小可以使用。指定文件的初始大小。文件大小可以使用KB、MB、GB或或TB,默认值为,默认值为 MB。 MAXSIZE。指定文件可以增长到的最大值,该参数。指定文件可以增长到的最大值,该参数是一个整数。如果没有指定最大值,那么文件将增
6、长到磁是一个整数。如果没有指定最大值,那么文件将增长到磁盘变满为止,相当于使用盘变满为止,相当于使用UNLIMITED选项值。选项值。 FILEGROWTH。指定文件增长的增量,即为数据库。指定文件增长的增量,即为数据库文件每次需要新的空间时添加空间。该值可以文件每次需要新的空间时添加空间。该值可以MB、KB、GB、TB或百分比(或百分比(%)为单位。如果没有指定)为单位。如果没有指定FILEGROWTH,则默认值为,则默认值为10%。 5.1.2 创建数据库创建数据库实例实例5-1 创建简单的数据库,只包含一个数据文件和日志创建简单的数据库,只包含一个数据文件和日志文件。文件。 本例使用两种
7、方式创建数据库。第本例使用两种方式创建数据库。第1个示例是一种最简个示例是一种最简单的数据库创建方式,由于没有指定任何参数项,因此数单的数据库创建方式,由于没有指定任何参数项,因此数据文件和日志文件的名称、路径和大小都采用系统默认值据文件和日志文件的名称、路径和大小都采用系统默认值(即(即SQL Server系统的安装路径)系统的安装路径)。USE masterCREATE DATABASE myDB1GO解析:解析:很多情况下,在上机实验过程中,可以使用这种简单很多情况下,在上机实验过程中,可以使用这种简单的方式创建数据库。的方式创建数据库。5.1.2 创建数据库创建数据库实例实例5-1(续
8、)(续): 第第2个示例是一种最常用的数据库创建方式,由个示例是一种最常用的数据库创建方式,由于指定了数据文件的名称、路径和大小,其日志文件的名称、路于指定了数据文件的名称、路径和大小,其日志文件的名称、路径和大小将根据数据文件自动生成。径和大小将根据数据文件自动生成。USE masterCREATE DATABASE myDB2ON ( NAME = myDB2_Dat1, FILENAME = c:myDBFmyDB2Dat1.mdf, SIZE = 5, MAXSIZE = 500, FILEGROWTH = 1 )解析:解析:由于由于SQL Server不会自动创建文件路径,因此文件路
9、径不会自动创建文件路径,因此文件路径c:myDBF必须在创建数据库之前已经存在。由于没有具体指定必须在创建数据库之前已经存在。由于没有具体指定事务日志文件的各项参数,其文件大小为主文件大小的事务日志文件的各项参数,其文件大小为主文件大小的25%和和512 KB中的较大值。虽然这中的较大值。虽然这2个示例都没有明确指定事务日志文件,个示例都没有明确指定事务日志文件,但系统会自动创建该文件,其文件名称、路径和大小与主数据文但系统会自动创建该文件,其文件名称、路径和大小与主数据文件相关。件相关。5.1.2 创建数据库创建数据库实例实例5-2 创建数据库,指定多个数据文件和事务日志文创建数据库,指定多
10、个数据文件和事务日志文件的路径和大小。件的路径和大小。 本实例创建一个数据库本实例创建一个数据库myDB。该数据库包含多个数。该数据库包含多个数据文件和日志文件,不同的数据文件和日志文件之间使据文件和日志文件,不同的数据文件和日志文件之间使用西文逗号(用西文逗号(,)分隔,数据文件与日志文件之间使用)分隔,数据文件与日志文件之间使用LOG ON分隔。在同一个数据库中不同数据文件的逻辑分隔。在同一个数据库中不同数据文件的逻辑名(名(Name)不允许重名的。)不允许重名的。实例实例5-2程序代码程序代码 运行实例运行实例5-2.sql5.1.2 创建数据库创建数据库实例实例5-2(续)(续)USE
11、 masterCREATE DATABASE myDBON ( NAME = myDB_dat1, FILENAME = C:myDBFmyDBdat1.mdf, SIZE = 10, MAXSIZE = 500, FILEGROWTH = 5 ),( NAME = myDB_dat2, FILENAME = C:myDBFmyDBdat2.ndf, SIZE = 5MB, MAXSIZE =UNLIMITED, FILEGROWTH = 10% )LOG ON( NAME = myDB_log1, FILENAME = C:myDBFmyDBlog1.ldf, SIZE = 5MB, MAX
12、SIZE = 250MB, FILEGROWTH = 5MB ),( NAME = myDB_log2, FILENAME = C:myDBFmyDBlog2.ldf, SIZE = 5MB, MAXSIZE = UNLIMITED, FILEGROWTH = 1MB ) 表(表(Table)是存储数据库中所有数据的一个对象。)是存储数据库中所有数据的一个对象。表定义为列的集合。与电子表格(表定义为列的集合。与电子表格(Spreadsheet)相似,)相似,数据在表中是按行和列的格式组织排列的。每行代表唯数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的一个域。一
13、的一条记录,而每列代表记录中的一个域。 例如,在包含公司员工数据的表中,每一行代表一名例如,在包含公司员工数据的表中,每一行代表一名员工,各个列分别表示雇员的详细资料,如员工编号、员工,各个列分别表示雇员的详细资料,如员工编号、姓名、地址、职位以及电话号码等。姓名、地址、职位以及电话号码等。EmpIDEmpNameTitleAddressHomePhoneAMD154F Devon AnnSales Representative8127 Otter Dr.(208) 5558097ATF328M Fuller AndrewVice President, Sales908 W. Capital
14、Way (206) 5559482DBT394M Tonini DanielSales Representative4440 Algiers Drive(800) 6604366ENL442FLincoln Elizabeth Sales Representative9056 Mount Dr5.2 表的创建与维护表的创建与维护5.2.1 表概述表概述SQL Server中的表由两个主要组成部分:中的表由两个主要组成部分: 列(列(Column)。每一列描述表所建模的对象的一些。每一列描述表所建模的对象的一些属性。列也称为属性。列也称为字段(字段(Field)。)。 行(行(Row)。每一行描
15、述表所建模的对象的一个个。每一行描述表所建模的对象的一个个体的存在。行也称为体的存在。行也称为记录记录(Record)。)。 在很多情况下,行和记录、列和字段这两对术语是可在很多情况下,行和记录、列和字段这两对术语是可以互相替代的。以互相替代的。 创建一张表的最有效方法是一次性全部定义好表中所创建一张表的最有效方法是一次性全部定义好表中所需要的一切内容(字段),包括它的数据限定和其他要需要的一切内容(字段),包括它的数据限定和其他要素。当然,也可以在创建后再对表进行修改,例如,添素。当然,也可以在创建后再对表进行修改,例如,添加一些约束、索引、缺省值、规则和其它对象。加一些约束、索引、缺省值、
16、规则和其它对象。 5.2.2 数据类型数据类型 SQL Server系统提供的主要数据类型见表系统提供的主要数据类型见表5-2。表表5-2 SQL Server的常用数据类型的常用数据类型整型数据(整型数据(Integer)bit取值为取值为0或或1int取值范围从取值范围从-231(-2,147,483,648) 到到231-1(2,147,483,647)。存储大。存储大小是小是4个字节。个字节。.smallint取值范围从取值范围从215 (-32,768) 到到215-1 (32,767)。存储大小是。存储大小是2个字节。个字节。tinyint取值范围从取值范围从0到到255。存储大小是。存储大小是1个字节。个字节。bigint取值范围从取值范围从-263到到263-1范围内的数字。存储大小为范围内的数字。存储大小为8个字节。个字节。小数数据(小数数据(Decimal和和Numeric)decimal(p,s)取值范围从取值范围从-1038 +1到到1038 1的固定精度和小数位的数字数据。的固定精度和小数位的数字数据。精度精度p取值取值1到到38之间。小数位数之间。小数位数s