数据库与表格设计.ppt

上传人:xin****828 文档编号:15898287 上传时间:2020-09-13 格式:PPT 页数:34 大小:264.86KB
返回 下载 相关 举报
数据库与表格设计.ppt_第1页
第1页 / 共34页
数据库与表格设计.ppt_第2页
第2页 / 共34页
数据库与表格设计.ppt_第3页
第3页 / 共34页
点击查看更多>>
资源描述
1,第六章,数据库与 表格设计,2,创建数据库,每个数据库都由以下几个部分的数据库对象所组成: 关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。,3,创建一个数据库(续),考虑问题:名称、拥有者、大小、数据文件和文件组等 注意: 虽然允许其他用户拥有使用权限,但根据默认值,只有sysadimin dbcreator拥有创建数据库的使用权限。 创建数据库的用户将成为数据库的拥有者 一台服务器最多可以创建32767个数据库 数据库的名称必须符合识别符号命名规则,4,创建一个数据库(续),将数据库中不同的组成部分放到不同的磁盘上,以防同时失去日志文件和数据文件。 创建数据库的方法: 1、企业管理器 在数据库上单击右键 2、企业管理器 下拉菜单工具向导 3、使用Transact-SQL语言创建数据库 使用SQL脚本文件 ,在查询分析器中运行即可(在不同的服务器上创建多个类似数据库),5,使用Transact-SQL语言创建数据库,CREATE DATABASE database_name ON PRIMARY ,n , ,n LOG ON ,n FOR RESTORE :=(NAME=logical_file_name, FILENAME=os_file_name ,SIZE=size ,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=growth_increment ) ,n :=FILEGROUP filegroup_name ,n,6,各参数说明如下:,database_name:数据库的名称,最长为128个字符。 PRIMARY:该选项是一个关键字,指定主文件组中的文件。 LOG ON:指明事务日志文件的明确定义。 NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。,7,各参数说明如下:,FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。 SIZE:指定数据库的初始容量大小。 MAXSIZE:指定操作系统文件可以增长到的最大尺寸。 FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。,8,SQL脚本文件实现方法,将已创建的数据库脚本化的方法 1、企业管理器 单击选中数据库下拉菜单工具 生成SQL脚本 2、企业管理器 右击选中数据库所有任务生成SQL脚本 脚本模板 查询分析器 下拉菜单编辑 插入模板 替换模板参数,9,新建一个表格,表是关系数据库中存储的基本单元,每种类型的实体都是用表来表示,其中该实体的每个实例都使用该表中的行来表示 在SQL Server 2000中,每个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024列,也就是可以定义1024个字段。 企业管理器数据库表右键新建表 各选项含义,10,数据类型,掌握数据类型及特点有助于为表中的列选择合适的数据类型,注意每种数据类型存储要求及取值的范围。但为了保证各个数据库之间的兼容性,特别是在跨平台或异构数据库之间进行数据复制或更新时,尽量使用最基本的数据类型。,11,1. 整型数据类型 2. 浮点数据类型 3. 字符数据类型 4. 日期和时间数据类型 5. 文本和图形数据类型,6. 货币数据类型 7. 位数据类型 8. 二进制数据类型 9. 特殊数据类型 10. 新增数据类型,数据类型有,12,整型数据类型,整型数据类型是最常用的数据类型之一,它主要用来存储数值,可以直接进行数据运算,而不必使用函数转换。 int(integer):int(或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:Decimal数据类型和numeric数据类型完全相同,它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2到17个字节来存储从-1038-1到1038-1之间的数值。浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server中采用只入不舍的方式进行存储 。,14,字符数据类型可以用来存储各种字母、数字符号和特殊符号。 Char:其定义形式为char(n),每个字符和符号占用一个字节的存储空间。 Varchar:其定义形式为varchar(n)。用char数据类型可以存储长达255个字符的可变长度字符串 。 Nchar:其定义形式为nchar(n)。 Nvarchar:其定义形式为nvarchar(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数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。 Image:用于存储照片、目录图片或者图画,其理论容量为231-1(2,147,483,647)个字节。,17,货币数据类型,Money:用于存储货币值,存储在money数据类型中的数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,存储范围为-922337213685477.5808到922337213685477.5808,精度为货币单位的万分之一。 Smallmoney:与money数据类型类似,但其存储的货币值范围比money数据类型小,其存储范围为-214748.3468到214748.3467。,18,二进制数据类型,Binary:其定义形式为binary(n),数据的存储长度是固定的,即n+4字节,当输入的二进制数据长度小于n时,余下部分填充0。 Varbinary:其定义形式为varbinary(n),数据的存储长度是变化的,它为实际所输入数据的长度加上4字节。其它含义同binary。,19,特殊数据类型,Timestamp:亦称时间戳数据类型,它提供数据库范围内的唯一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。 Uniqueidentifier:用于存储一个16字节长的二进制数据类型,它是SQL Server根据计算机网络适配器地址和CPU时钟产生的唯一号码而生成的全局唯一标识符代码(Globally Unique 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,数据类型转换,可能数据转换情况: 将一个对象的数据转移到比较或结合另一个对象的数据 将结果列、返回码或输出参数移入程序变量 转换方式: 隐含转换 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:用于指定在其中创建表的数据库名称。 owner:用于指定新建表的所有者的用户名 。 table_name:用于指定新建的表的名称。 column_name:用于指定新建表的列的名称。 computed_column_expression:用于指定计算列的列值的表达式。 ON filegroup | DEFAULT:用于指定存储表的文件组名。 TEXTIMAGE_ON:用于指定 text、ntext 和 image 列的数据存储的文件组。 data_type:用于指定列的数据类型 。 DEFAULT:用于指定列的缺省值。,25,constant_expression:用于指定列的缺省值的常量表式 。 IDENTITY:用于指定列为标识列。 Seed:用于指定标识列的初始值。 Increment:用于指定标识列的增量值。 NOT FOR REPLICATION:用于指定列的IDENTITY属性在把从其它表中复制的数据插入到表中时不发生作用,即不足的生成列值,使得复制的数据行保持原来的列值。 ROWGUIDCOL:用于指定列为全球唯一鉴别行号列 。 COLLATE:用于指定表使用的校验方式。 column_constraint和table_constraint:用于指定列约束和表约束。,26,其SQL语句的程序清单如下: CREATE TABLE employee ( number int not null, name varchar(20) NOT 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、重新命名表 2、删除表 3、删除表中数据,29,主键的意义及设置,确保在同一个表格中不会有重复的记录。 主键的设置(多列时,用shift或ctrl键一次选择多个列) 用Transact-SQL语句操作法。 其语法形式如下: CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED (column_name,n),30,主键约束各参数的说明如下,constraint_name:用于指定约束的名称,约束的名称在数据库中应该是唯一的。如果不指定,则系统会自动生成一个约束名。 LUSTERED|NONCLUSTERED:用于指定索引的类型,即聚簇索引或者非聚簇索引,CLUSTERED为默认值。 column_name:用于指定主键的列名。主键最多由16个列组成。,31,主键选择原则,简短:当有多个候选建时,选择短的作为主键 简单、取值不可改变:不要选择那些内嵌空格、特殊字符和不同大小写字符的复杂字符串为主键,也不要使用指数数字或日期作为主键,不要选择随时间变化的属性作为主键。 简单数据类型:避免选择使用浮点数或日期/时间数据类型的属性作为主键,因为机器需要太多的指令来解释这些数据类型。,32,主键选择原则(续),非标识值:使用标识列无意义。,33,数据输入与修改,在表中直接输入、修改、删除 数据添加: Insert into table_name values 数据更新 Update table_name set column=expression Where 数据删除 Delete from table_name Where ,34,产生新建表格的脚本文件,企业管理器右击表名所有任务生成sql脚本文件,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!