数据库基本对象操作和管理.ppt_第1页
数据库基本对象操作和管理.ppt_第2页
数据库基本对象操作和管理.ppt_第3页
数据库基本对象操作和管理.ppt_第4页
数据库基本对象操作和管理.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019年9月20日星期五,数据库技术,第3章 数据库基本对象操作和管理,教学内容: 3.1数据库的创建和管理 3.2表的创建和管理 3.3索引的创建和管理 3.4关系图的创建和管理,2019年9月20日星期五,数据库技术,3.1数据库的创建和管理,3.1.1 数据库存储结构 3.1.2 使用企业管理器创建数据库 3.1.2 使用数据库向导创建数据库 3.1.4 使用T-SQL语句创建数据库 3.1.5 修改数据库,2019年9月20日星期五,数据库技术,3.1.1 数据库存储结构,主数据库文件:存放数据,每个数据库有且仅有一个主 数据文件,后缀为.mdf。 次数据库文件:存放数据,有或没有都可,也可有多个, 后缀为.ndf。 事务日志文件:存放事务日志,每个数据库必须有一个 或多个日志文件。后缀为.ldf。,注意:一个简单的数据库可以只有一个主数据文件和一个 事务日志文件,如果数据库大则可以设置多个次数 据库文件和事务日志文件,并将他们放在不同的磁 盘上。,2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,语法: CREATE DATABASE datebase_name ON PRIMARY ,.n ,.n LOG ON ,.n,2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库, := (NAME=logical_file_name, FILENAME=os_file_name, SIZE=size, MAXSIZE=max_size|UNLIMITED, FILEGROWTH=growth_increment),.n NAME=logical_file_name:定义数据文件逻辑文件名,该文件名只在SQL语句中使用. FILENAME=os_file_name:定义数据文件的物理文件名,操作系统使用,2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,例: 创建一个名为sales的数据库,数据文件的逻辑文件名为sales_dat,磁盘文件名为sales_dat.mdf,事务日志文件的逻辑文件名为sales_log,磁盘文件名为sales_log.ldf,两个磁盘文件都存储在D盘SQL文件夹下。,2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,CREATE DATABASE sales ON (NAME=sales_dat, FILENAME=d:SQLsales_dat.mdf, SIZE=5, MAXSIZE=30, FILEGROWTH=2) LOG ON (NAME=sales_log, FILENAME=d:SQLsales_log.ldf, SIZE=2MB, MAXSIZE=20MB, FILEGROWTH=2MB),2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,例:创建一个名为Report的数据库,定义一个主文件、两个二级文件和两个日志文件。其中主数据文件的逻辑文件名为Rep1,磁盘文件名为rep1_dat.mdf。一个二级文件的逻辑文件名为Rep2,磁盘文件名为Rep2_dat.ndf;另一个二级文件的逻辑文件名为Rep3,磁盘文件名为rep3_dat.ndf。一个事务日志文件的逻辑文件名为rep1_log,磁盘文件名为rep1_log.ldf;另一个事务日志文件的逻辑文件名为rep2_log,磁盘文件名为rep2_log.ldf。所有文件的初始容量都是5MB,最大容量限制都来是10MB,在最大容量限制内,当文件空间不够时每次的增长量都是1MB。以上文件都存储在D盘SQL文件夹下。,2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,CREATE DATABASE Report ON PRIMARY (NAME=Rep1, FILENAME=d:SQLrep1_dat.mdf, SIZE=5, MAXSIZE=10, FILEGROWTH=1),2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,(NAME=Rep3, FILENAME=d:SQLrep3_dat.ndf, SIZE=5, MAXSIZE=10, FILEGROWTH=1),(NAME=Rep2, FILENAME=d:SQLrep2_dat.ndf, SIZE=5, MAXSIZE=10, FILEGROWTH=1),2019年9月20日星期五,数据库技术,3.1.4 使用T-SQL语句创建数据库,LOG ON (NAME= Rep1_log, FILENAME=d:SQLrep1_log.ldf, SIZE=5MB, MAXSIZE=10MB, FILEGROWTH=1MB), (NAME= Rep2_log, FILENAME=d:SQLrep2_log.ldf, SIZE=5MB, MAXSIZE=10MB, FILEGROWTH=1MB),2019年9月20日星期五,数据库技术,3.1.5 修改数据库,1.更改数据库名称 语法 SP_renamedb old_name,new_name 前提条件 必须将该数据库切换到单用户模式下。 举例 exec sp_dboption student,single user,true exec sp_renamedb student,学生 exec sp_dboption 学生,single user,false,2019年9月20日星期五,数据库技术,3.1.5 修改数据库,2.使用企业管理器修改数据库结构 选中数据库节点,在弹出的快捷菜单中选择“属性”选项,则弹出“数据库属性”窗口。 可以在此窗口的数据文件和日志文件标签页包括文件组标签页修改数据库,2019年9月20日星期五,数据库技术,3.2表的创建和管理,3.2.1 SQL Server支持的数据类型 3.2.2 用户自定义数据类型 3.2.3 使用企业管理器创建表 3.2.4 使用T-SQL语句创建表 3.2.5 表的数据操作,2019年9月20日星期五,数据库技术,3.2.1 SQL Server支持的数据类型,精 度:指数值数据中所存储的十 进制数据的总位数。 小数位数:指数值数据中小数点右边 可以有的数字位数的最大值。 长 度:指存储数据所使用的字节数。,2019年9月20日星期五,数据库技术,一、字符串类型:字母、数字和符号组成,常量使用单引号做定界符。,2019年9月20日星期五,数据库技术,二、数值型数据类型 1、整数数据类型:输入小数时,截取小数部分不四舍五入;输入非法数字时,显示NULL(表示一个未知数)。,2019年9月20日星期五,数据库技术,二、数值型数据类型 2、精确数值类型:由整数部分和小数部分构成,其所有的数字都是有效位。,2019年9月20日星期五,数据库技术,二、数值型数据类型 3 、浮点型(近似数值型):表示近似的浮点数值,该数值与实际数据之间可能存在一个微小的差别,2019年9月20日星期五,数据库技术,四、二进制类型:分别表示定长、变长字符型,2019年9月20日星期五,数据库技术,五、日期时间类型:用于存储日期和时间信息。,2019年9月20日星期五,数据库技术,3.2.2 用户自定义数据类型,语法: Sp_addtypetypename=type phystype=system_data_type ,nulltype=null_type 说明: typename=type:用户定义的数据类型的名称。 phystype=system_data_type:系统数据类型,没有 默认值。 注意:如果定义的基本数据类型中有空格或标点符号 则必须括起来 ,nulltype=null_type:处理空值的方法。用引号引起来。NULL,NOT NULL。,2019年9月20日星期五,数据库技术,3.2.2 用户自定义数据类型,自定义一个地址数据类型 exec sp_addtype address, varchar(80), not null 利用系统存储过程删除用户自定义数据类型 sp_droptypetypename=type 删除自定义的生日数据类型。 exec sp_droptype birthday,2019年9月20日星期五,数据库技术,3.2.3 使用企业管理器创建表,例:利用企业管理器创建部门情况表 (emp) 表结构如下:,2019年9月20日星期五,数据库技术,3.2.4 使用T-SQL语句创建表,其语法形式如下: CREATE TABLE table_name ( ,n ),2019年9月20日星期五,数据库技术,3.2.4 使用T-SQL语句创建表,:= column_name data_type DEFAULT constant_expression |IDENTITY (seed,increment) ,2019年9月20日星期五,数据库技术,例:用T-SQL语句在查询分析器创建emp表结构如下:,2019年9月20日星期五,数据库技术,CREATE TABLE emp ( number char(7) not null primary key, name char(10) NOT NULL, sex char(2) default 男 NOT NULL, birthday datetime null, professional_title varchar(10) null, salary money null, memo text null ),3.2.4 使用T-SQL语句创建表,2019年9月20日星期五,数据库技术,3.2.5 表的数据操作,1、使用T-SQL语句插入数据 语法: INSERT INTO table_name|view_name (column_list) VALUES(DEFAULT|NULL|expression,.n),2019年9月20日星期五,数据库技术,3.2.5 表的数据操作,例:向员工数据表(员工姓名,性别,所属部门、工资)插入一条记录(王秋萍,女,项目部,3000) 语句: Use company Insert into 员工数据表 (员工姓名,性别,所属部门,工资) Values(王秋萍,女,项目部,3000),2019年9月20日星期五,数据库技术,3.2.5 表的数据操作,2、使用T-SQL语句UPDATE修改表中数据 语法: UPDATE table_name|view_name SET column_name=expression|DEFAULT|NULL WHERE ,2019年9月20日星期五,数据库技术,3.2.5 表的数据操作,例:在员工数据表中将“王秋萍”由项目部调到 财务部,工资增加为3500。 语句: use company update员工数据表 set 所属部门=财务部,工资=3500 where 员工姓名=王秋萍,2019年9月20日星期五,数据库技术,3.2.5 表的数据操作,3、使用T-SQL的DELETE语句删除表中数据 DELETEFROM table_name|view_name WHERE 说明与UPDATE相同。,2019年9月20日星期五,数据库技术,3.2.5 表的数据操作,例:删除员工数据表中姓名是“王秋萍”的员工的记录 语句: Use company Delete from 员工数据表 Where 员工姓名=王秋萍,2019年9月20日星期五,数据库技术,3.3索引的创建和管理,3.3.1 索引的类型 3.3.2 创建索引 3.3.3 删除索引,2019年9月20日星期五,数据库技术,3.3.1 索引的类型,聚集索引(clustered index) 表中的数据按照聚集索引的顺序来存放, 一张数据表只能建立一个聚集索引。 非聚集索引( nonclustered index ) 不影响数据表中记录的实际存储顺序。 一张数据表可创建多个非聚集索引,最多可 以达到249个。,2019年9月20日星期五,数据库技术,3.3.1 索引的类型,唯一索引 创建索引的字段必须具有唯一性,即表中的 任何两条记录的索引值都不能重复。 复合索引 索引可以是单个字段也可以是多个字段的组 合。但必须是同一张表中的字段。 注意:唯一索引和复合索引之间的关系。,2019年9月20日星期五,数据库技术,3.3.2 创建索引,1.系统自动创建 唯一约束字段 如果某个字段设置了唯一约束,系统将自动 创建非聚集的唯一索引(NONCLUSTERED) 主键约束字段 如果某个字段设置了主键约束,系统将自动 创建唯一索引。,2019年9月20日星期五,数据库技术,3.3.2 创建索引,该索引是否是聚集索引取决于以下几种情况: (1)、使用CLUSTERED,生成聚集的唯一索引。 (2)、使用NONCLUSTERED,生成非聚集的唯一索引。 (3)、不使用关键字,在其他字段上不存在聚集索引,生成聚集的唯一索引。 (4)、不使用关键字,在其他字段上存在聚集索引,生成非聚集的唯一索引。,2019年9月20日星期五,数据库技术,例:创建表product,将产品ID设置为主键约束,查看索引信息。,Create table product ( 产品ID int constraint PK_ID primary key, 产品名称 char(20) ) Go Exec sp_helpindex product,2019年9月20日星期五,数据库技术,例:创建表product,将产品名称设置为唯一约束,查看索引信息。,Create table product ( 产品ID int, 产品名称 char(20) constraint UN_name Unique ) Go Exec sp_helpindex product,2019年9月20日星期五,数据库技术,3.3.2 创建索引,2.使用T-SQL语句创建索引 CREATE UniqueClustered|nonClustered INDEX index_name ON table_name(column,),2019年9月20日星期五,数据库技术,3.3.2 创建索引,例:基于sc表中的sno,cno字段组合创建唯一索引 create unique index ix_sc_noname on sc(sno,cno) exec sp_helpindex sc,2019年9月20日星期五,数据库技术,3.3.3 删除索引,在企业管理器中删除索引管理索引 注意:在管理索引窗口中不能删除设定主键 约束和唯一约束时系统自动创建的索引。 使用DROP INDEX语句删除索引 语句的语法: DROP INDEX table.index, 例:删除上例所创建的索引 Drop index sc.ix_sc_noname,2019年9月20日星期五,数据库技术,3.4关系图的创建和管理,数据库关系图是SQL Server 特有的一种数据库对象,它提供给用户直观图形界面的管理数据库表的方式。又叫数据库设计器。 通过关系图,用户可以直观地创建、编辑数据库表之间的关系,也可以编辑表及其列的属性。 在数据库设计器中可以创建、编辑或删除表、列、键、索引、关系和约束。为使数据库可视化,可创建一个或更多的关系图,以显示数据库中的部分或全部表、列、键和关系。,2019年9月20日星期五,数据库技术,3.4关系图的创建和管理,创建数据库关系图向导,2019年9月20日星期五,数据库技术,作业,1. 在“d:sql”文件夹下创建一个图书读者数据库ReadBook,数据文件的初始大小设为2MB,文件增长量为1MB,文件的增长上限设为5MB;日志文件的初始大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论