数据库与表格设计.ppt

上传人:牧羊曲112 文档编号:6050163 上传时间:2023-09-18 格式:PPT 页数:34 大小:282.11KB
返回 下载 相关 举报
数据库与表格设计.ppt_第1页
第1页 / 共34页
数据库与表格设计.ppt_第2页
第2页 / 共34页
数据库与表格设计.ppt_第3页
第3页 / 共34页
数据库与表格设计.ppt_第4页
第4页 / 共34页
数据库与表格设计.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数据库与表格设计.ppt》由会员分享,可在线阅读,更多相关《数据库与表格设计.ppt(34页珍藏版)》请在三一办公上搜索。

1、1,第六章,数据库与表格设计,2,创建数据库,每个数据库都由以下几个部分的数据库对象所组成:关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。,3,创建一个数据库(续),考虑问题:名称、拥有者、大小、数据文件和文件组等注意:虽然允许其他用户拥有使用权限,但根据默认值,只有sysadimin dbcreator拥有创建数据库的使用权限。创建数据库的用户将成为数据库的拥有者一台服务器最多可以创建32767个数据库数据库的名称必须符合识别符号命名规则,4,创建一个数据库(续),将数据库中不同的组成部分放到不同的磁盘上,以防同时失去日志文件和数据文件。创建数据库的

2、方法:1、企业管理器 在数据库上单击右键 2、企业管理器 下拉菜单工具向导 3、使用Transact-SQL语言创建数据库 使用SQL脚本文件,在查询分析器中运行即可(在不同的服务器上创建多个类似数据库),5,使用Transact-SQL语言创建数据库,CREATE DATABASE database_nameON PRIMARY,n,n LOG ON,n FOR RESTORE:=(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increm

3、ent),n:=FILEGROUP filegroup_name,n,6,各参数说明如下:,database_name:数据库的名称,最长为128个字符。PRIMARY:该选项是一个关键字,指定主文件组中的文件。LOG ON:指明事务日志文件的明确定义。NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。,7,各参数说明如下:,FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。SIZE:指定数据库的初始容量大小。MAXSIZE:指定操作系统文件可以增长到的最大尺寸。FIL

4、EGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。,8,SQL脚本文件实现方法,将已创建的数据库脚本化的方法1、企业管理器 单击选中数据库下拉菜单工具 生成SQL脚本2、企业管理器 右击选中数据库所有任务生成SQL脚本脚本模板查询分析器 下拉菜单编辑 插入模板 替换模板参数,9,新建一个表格,表是关系数据库中存储的基本单元,每种类型的实体都是用表来表示,其中该实体的每个实例都使用该表中的行来表示在SQL Server 2000中,每个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024列,也就是可以定义1024个字段。企业管理器数据库表右键新建

5、表各选项含义,10,数据类型,掌握数据类型及特点有助于为表中的列选择合适的数据类型,注意每种数据类型存储要求及取值的范围。但为了保证各个数据库之间的兼容性,特别是在跨平台或异构数据库之间进行数据复制或更新时,尽量使用最基本的数据类型。,11,1.整型数据类型2.浮点数据类型 3.字符数据类型 4.日期和时间数据类型 5.文本和图形数据类型,6.货币数据类型 7.位数据类型 8.二进制数据类型 9.特殊数据类型 10.新增数据类型,数据类型有,12,整型数据类型,整型数据类型是最常用的数据类型之一,它主要用来存储数值,可以直接进行数据运算,而不必使用函数转换。int(integer):int(或

6、integer)数据类型可以存储从-231(-2,147,483,648)到231-1(2,147,483,647)范围之间的所有正负整数。Smallint:可以存储从-215(-32,768)到215-1范围之间的所有正负整数。Tinyint:可以存储从0到255范围之间的所有正整数。,13,浮点数据类型,浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server中采用只入不舍的方式进行存储。Real:可以存储正的或者负的十进制数值,最大可以有7位精确位数。Float:可以精确到第15位小数,其范围从-1.79E-308到1.79E+308。Decimal和numeric:Deci

7、mal数据类型和numeric数据类型完全相同,它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2到17个字节来存储从-1038-1到1038-1之间的数值。浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server中采用只入不舍的方式进行存储。,14,字符数据类型可以用来存储各种字母、数字符号和特殊符号。Char:其定义形式为char(n),每个字符和符号占用一个字节的存储空间。Varchar:其定义形式为varchar(n)。用char数据类型可以存储长达255个字符的可变长度字符串。Nchar:其定义形式为nchar(n)。Nvarchar:其定义形式为nvarc

8、har(n),字符数据类型,15,日期和时间数据类型,Datetime:用于存储日期和时间的结合体。它可以存储从公元1753年1月1日零时起到公元9999年12月31日23时59分59秒之间的所有日期和时间。Smalldatetime:与datetime数据类型类似,但其日期时间范围较小,它存储从1900年1月1日到2079年6月6日内的日期。,16,文本和图形数据类型,Text:用于存储大量文本数据,其容量理论上为1到231-1(2,147,483,647)个字节,但实际应用时要根据硬盘的存储空间而定。Ntext:与text数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显

9、示设备可以是显示器、窗口或者打印机。Image:用于存储照片、目录图片或者图画,其理论容量为231-1(2,147,483,647)个字节。,17,货币数据类型,Money:用于存储货币值,存储在money数据类型中的数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,存储范围为-922337213685477.5808到922337213685477.5808,精度为货币单位的万分之一。Smallmoney:与money数据类型类似,但其存储的货币值范围比money数据类型小,其存储范围为-214748.3468到214748.3467。,18,二进制数据类型,Binary:其定义形

10、式为binary(n),数据的存储长度是固定的,即n+4字节,当输入的二进制数据长度小于n时,余下部分填充0。Varbinary:其定义形式为varbinary(n),数据的存储长度是变化的,它为实际所输入数据的长度加上4字节。其它含义同binary。,19,特殊数据类型,Timestamp:亦称时间戳数据类型,它提供数据库范围内的唯一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。Uniqueidentifier:用于存储一个16字节长的二进制数据类型,它是SQL Server根据计算机网络适配器地址和CPU时钟产生的唯一号码而生成的全局唯一标识符代码(Globally Un

11、ique Identifier,简写为GUID)。,20,位数据类型,Bit:称为位数据类型,其数据有两种取值:0和1,长度为1字节。,21,新增数据类型,Bigint:用于存储从-263(-9,223,372,036,854,775,807)到263-1(9,223,372,036,854,775,807)之间的所有正负整数。sql_variant:用于存储除文本、图形数据和timestamp类型数据外的其它任何合法的SQL Server数据。table:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。,22,数据类型转

12、换,可能数据转换情况:将一个对象的数据转移到比较或结合另一个对象的数据将结果列、返回码或输出参数移入程序变量转换方式:隐含转换Cast(expression as data_type)Convert(data_type,expression),23,利用create命令创建表,其语法形式如下:CREATE TABLE database_name.owner.|owner.table_name(|column_name AS computed_column_expression|,n)ON filegroup|DEFAULT,24,创建表的各参数的说明如下:,database_name:用于指定

13、在其中创建表的数据库名称。owner:用于指定新建表的所有者的用户名。table_name:用于指定新建的表的名称。column_name:用于指定新建表的列的名称。computed_column_expression:用于指定计算列的列值的表达式。ON filegroup|DEFAULT:用于指定存储表的文件组名。TEXTIMAGE_ON:用于指定 text、ntext 和 image 列的数据存储的文件组。data_type:用于指定列的数据类型。DEFAULT:用于指定列的缺省值。,25,constant_expression:用于指定列的缺省值的常量表式。IDENTITY:用于指定列为

14、标识列。Seed:用于指定标识列的初始值。Increment:用于指定标识列的增量值。NOT FOR REPLICATION:用于指定列的IDENTITY属性在把从其它表中复制的数据插入到表中时不发生作用,即不足的生成列值,使得复制的数据行保持原来的列值。ROWGUIDCOL:用于指定列为全球唯一鉴别行号列。COLLATE:用于指定表使用的校验方式。column_constraint和table_constraint:用于指定列约束和表约束。,26,其SQL语句的程序清单如下:CREATE TABLE employee(number int not null,name varchar(20)N

15、OT NULL,sex char(2)NULL,birthday datetime null,hire_date datetime NOT NULL DEFAULT(getdate()professional_title varchar(10)null,salary money null,memo ntext null),创建了一个雇员信息表,27,更改表的结构,修改列:企业管理器设计表重新命名列删除列该列全部数据丢失,无法挽回(当列上存在关系及约束,必须先删除关系及约束,再删除列。)插入列(增加列)必须允许该列为NULL或提供缺省值查看表:右击表属性,28,更改表的结构(续),修改表1、重新

16、命名表2、删除表3、删除表中数据,29,主键的意义及设置,确保在同一个表格中不会有重复的记录。主键的设置(多列时,用shift或ctrl键一次选择多个列)用Transact-SQL语句操作法。其语法形式如下:CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED(column_name,n),30,主键约束各参数的说明如下,constraint_name:用于指定约束的名称,约束的名称在数据库中应该是唯一的。如果不指定,则系统会自动生成一个约束名。LUSTERED|NONCLUSTERED:用于指定索引的类型,即聚簇索引或者非

17、聚簇索引,CLUSTERED为默认值。column_name:用于指定主键的列名。主键最多由16个列组成。,31,主键选择原则,简短:当有多个候选建时,选择短的作为主键简单、取值不可改变:不要选择那些内嵌空格、特殊字符和不同大小写字符的复杂字符串为主键,也不要使用指数数字或日期作为主键,不要选择随时间变化的属性作为主键。简单数据类型:避免选择使用浮点数或日期/时间数据类型的属性作为主键,因为机器需要太多的指令来解释这些数据类型。,32,主键选择原则(续),非标识值:使用标识列无意义。,33,数据输入与修改,在表中直接输入、修改、删除数据添加:Insert into table_name values数据更新Update table_name set column=expressionWhere 数据删除Delete from table_nameWhere,34,产生新建表格的脚本文件,企业管理器右击表名所有任务生成sql脚本文件,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号