数据库基本对象操作和管理.ppt

上传人:xin****828 文档编号:15898292 上传时间:2020-09-13 格式:PPT 页数:52 大小:389.05KB
返回 下载 相关 举报
数据库基本对象操作和管理.ppt_第1页
第1页 / 共52页
数据库基本对象操作和管理.ppt_第2页
第2页 / 共52页
数据库基本对象操作和管理.ppt_第3页
第3页 / 共52页
点击查看更多>>
资源描述
2020年9月13日星期日,数据库技术,第3章 数据库基本对象操作和管理,教学内容: 3.1数据库的创建和管理 3.2表的创建和管理 3.3索引的创建和管理 3.4关系图的创建和管理,2020年9月13日星期日,数据库技术,3.1数据库的创建和管理,3.1.1 数据库存储结构 3.1.2 使用企业管理器创建数据库 3.1.2 使用数据库向导创建数据库 3.1.4 使用T-SQL语句创建数据库 3.1.5 修改数据库,2020年9月13日星期日,数据库技术,3.1.1 数据库存储结构,主数据库文件:存放数据,每个数据库有且仅有一个主 数据文件,后缀为.mdf。 次数据库文件:存放数据,有或没有都可,也可有多个, 后缀为.ndf。 事务日志文件:存放事务日志,每个数据库必须有一个 或多个日志文件。后缀为.ldf。,注意:一个简单的数据库可以只有一个主数据文件和一个 事务日志文件,如果数据库大则可以设置多个次数 据库文件和事务日志文件,并将他们放在不同的磁 盘上。,2020年9月13日星期日,数据库技术,3.1.4 使用T-SQL语句创建数据库,语法: CREATE DATABASE datebase_name ON PRIMARY ,.n ,.n LOG ON ,.n,2020年9月13日星期日,数据库技术,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:定义数据文件的物理文件名,操作系统使用,2020年9月13日星期日,数据库技术,3.1.4 使用T-SQL语句创建数据库,例: 创建一个名为sales的数据库,数据文件的逻辑文件名为sales_dat,磁盘文件名为sales_dat.mdf,事务日志文件的逻辑文件名为sales_log,磁盘文件名为sales_log.ldf,两个磁盘文件都存储在D盘SQL文件夹下。,2020年9月13日星期日,数据库技术,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),2020年9月13日星期日,数据库技术,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文件夹下。,2020年9月13日星期日,数据库技术,3.1.4 使用T-SQL语句创建数据库,CREATE DATABASE Report ON PRIMARY (NAME=Rep1, FILENAME=d:SQLrep1_dat.mdf, SIZE=5, MAXSIZE=10, FILEGROWTH=1),2020年9月13日星期日,数据库技术,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),2020年9月13日星期日,数据库技术,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),2020年9月13日星期日,数据库技术,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,2020年9月13日星期日,数据库技术,3.1.5 修改数据库,2.使用企业管理器修改数据库结构 选中数据库节点,在弹出的快捷菜单中选择“属性”选项,则弹出“数据库属性”窗口。 可以在此窗口的数据文件和日志文件标签页包括文件组标签页修改数据库,2020年9月13日星期日,数据库技术,3.2表的创建和管理,3.2.1 SQL Server支持的数据类型 3.2.2 用户自定义数据类型 3.2.3 使用企业管理器创建表 3.2.4 使用T-SQL语句创建表 3.2.5 表的数据操作,2020年9月13日星期日,数据库技术,3.2.1 SQL Server支持的数据类型,精 度:指数值数据中所存储的十 进制数据的总位数。 小数位数:指数值数据中小数点右边 可以有的数字位数的最大值。 长 度:指存储数据所使用的字节数。,2020年9月13日星期日,数据库技术,一、字符串类型:字母、数字和符号组成,常量使用单引号做定界符。,2020年9月13日星期日,数据库技术,二、数值型数据类型 1、整数数据类型:输入小数时,截取小数部分不四舍五入;输入非法数字时,显示NULL(表示一个未知数)。,2020年9月13日星期日,数据库技术,二、数值型数据类型 2、精确数值类型:由整数部分和小数部分构成,其所有的数字都是有效位。,2020年9月13日星期日,数据库技术,二、数值型数据类型3 、浮点型(近似数值型):表示近似的浮点数值,该数值与实际数据之间可能存在一个微小的差别,2020年9月13日星期日,数据库技术,四、二进制类型:分别表示定长、变长字符型,2020年9月13日星期日,数据库技术,五、日期时间类型:用于存储日期和时间信息。,2020年9月13日星期日,数据库技术,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。,2020年9月13日星期日,数据库技术,3.2.2 用户自定义数据类型,自定义一个地址数据类型 exec sp_addtype address, varchar(80), not null 利用系统存储过程删除用户自定义数据类型 sp_droptypetypename=type 删除自定义的生日数据类型。 exec sp_droptype birthday,2020年9月13日星期日,数据库技术,3.2.3 使用企业管理器创建表,例:利用企业管理器创建部门情况表 (emp)表结构如下:,2020年9月13日星期日,数据库技术,3.2.4 使用T-SQL语句创建表,其语法形式如下: CREATE TABLE table_name( ,n ),2020年9月13日星期日,数据库技术,3.2.4 使用T-SQL语句创建表,:= column_name data_type DEFAULT constant_expression |IDENTITY (seed,increment) ,2020年9月13日星期日,数据库技术,例:用T-SQL语句在查询分析器创建emp表结构如下:,2020年9月13日星期日,数据库技术,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语句创建表,2020年9月13日星期日,数据库技术,3.2.5 表的数据操作,1、使用T-SQL语句插入数据 语法: INSERT INTO table_name|view_name (column_list) VALUES(DEFAULT|NULL|expression,.n),2020年9月13日星期日,数据库技术,3.2.5 表的数据操作,例:向员工数据表(员工姓名,性别,所属部门、工资)插入一条记录(王秋萍,女,项目部,3000) 语句: Use company Insert into 员工数据表 (员工姓名,性别,所属部门,工资) Values(王秋萍,女,项目部,3000),2020年9月13日星期日,数据库技术,3.2.5 表的数据操作,2、使用T-SQL语句UPDATE修改表中数据 语法: UPDATE table_name|view_name SET column_name=expression|DEFAULT|NULL WHERE ,2020年9月13日星期日,数据库技术,3.2.5 表的数据操作,例:在员工数据表中将“王秋萍”由项目部调到 财务部,工资增加为3500。 语句: use company update员工数据表 set 所属部门=财务部,工资=3500 where 员工姓名=王秋萍,2020年9月13日星期日,数据库技术,3.2.5 表的数据操作,3、使用T-SQL的DELETE语句删除表中数据DELETEFROM table_name|view_name WHERE 说明与UPDATE相同。,2020年9月13日星期日,数据库技术,3.2.5 表的数据操作,例:删除员工数据表中姓名是“王秋萍”的员工的记录 语句: Use company Delete from 员工数据表 Where 员工姓名=王秋萍,2020年9月13日星期日,数据库技术,3.3索引的创建和管理,3.3.1 索引的类型 3.3.2 创建索引 3.3.3 删除索引,2020年9月13日星期日,数据库技术,3.3.1 索引的类型,聚集索引(clustered index) 表中的数据按照聚集索引的顺序来存放, 一张数据表只能建立一个聚集索引。 非聚集索引( nonclustered index ) 不影响数据表中记录的实际存储顺序。 一张数据表可创建多个非聚集索引,最多可 以达到249个。,2020年9月13日星期日,数据库技术,3.3.1 索引的类型,唯一索引 创建索引的字段必须具有唯一性,即表中的 任何两条记录的索引值都不能重复。 复合索引 索引可以是单个字段也可以是多个字段的组 合。但必须是同一张表中的字段。 注意:唯一索引和复合索引之间的关系。,2020年9月13日星期日,数据库技术,3.3.2 创建索引,1.系统自动创建 唯一约束字段 如果某个字段设置了唯一约束,系统将自动 创建非聚集的唯一索引(NONCLUSTERED) 主键约束字段 如果某个字段设置了主键约束,系统将自动 创建唯一索引。,2020年9月13日星期日,数据库技术,3.3.2 创建索引,该索引是否是聚集索引取决于以下几种情况: (1)、使用CLUSTERED,生成聚集的唯一索引。 (2)、使用NONCLUSTERED,生成非聚集的唯一索引。 (3)、不使用关键字,在其他字段上不存在聚集索引,生成聚集的唯一索引。 (4)、不使用关键字,在其他字段上存在聚集索引,生成非聚集的唯一索引。,2020年9月13日星期日,数据库技术,例:创建表product,将产品ID设置为主键约束,查看索引信息。,Create table product ( 产品ID int constraint PK_ID primary key, 产品名称 char(20) ) Go Exec sp_helpindex product,2020年9月13日星期日,数据库技术,例:创建表product,将产品名称设置为唯一约束,查看索引信息。,Create table product ( 产品ID int, 产品名称 char(20) constraint UN_name Unique ) Go Exec sp_helpindex product,2020年9月13日星期日,数据库技术,3.3.2 创建索引,2.使用T-SQL语句创建索引 CREATE UniqueClustered|nonClustered INDEX index_name ON table_name(column,),2020年9月13日星期日,数据库技术,3.3.2 创建索引,例:基于sc表中的sno,cno字段组合创建唯一索引 create unique index ix_sc_noname on sc(sno,cno) exec sp_helpindex sc,2020年9月13日星期日,数据库技术,3.3.3 删除索引,在企业管理器中删除索引管理索引 注意:在管理索引窗口中不能删除设定主键 约束和唯一约束时系统自动创建的索引。 使用DROP INDEX语句删除索引 语句的语法: DROP INDEX table.index, 例:删除上例所创建的索引 Drop index sc.ix_sc_noname,2020年9月13日星期日,数据库技术,3.4关系图的创建和管理,数据库关系图是SQL Server 特有的一种数据库对象,它提供给用户直观图形界面的管理数据库表的方式。又叫数据库设计器。 通过关系图,用户可以直观地创建、编辑数据库表之间的关系,也可以编辑表及其列的属性。 在数据库设计器中可以创建、编辑或删除表、列、键、索引、关系和约束。为使数据库可视化,可创建一个或更多的关系图,以显示数据库中的部分或全部表、列、键和关系。,2020年9月13日星期日,数据库技术,3.4关系图的创建和管理,创建数据库关系图向导,2020年9月13日星期日,数据库技术,作业,1. 在“d:sql”文件夹下创建一个图书读者数据库ReadBook,数据文件的初始大小设为2MB,文件增长量为1MB,文件的增长上限设为5MB;日志文件的初始大小设为1MB,文件增长量为1MB,文件的增长上限设为5MB,2020年9月13日星期日,数据库技术,作业,2、重新建立上例数据库,增加二个辅助文件,二个辅助数据文件的逻辑名为stu01sf01和stu01sf02,物理文件名分别为stu01sf01.ndf和stu01sf02.ndf,初始容量均为1MB,均按10%增长,且最大容量都限定在5MB,所有文件均放在D:SQLSERVER 文件夹下。,2020年9月13日星期日,数据库技术,作业,3、使用T-SQL语句创建下表: 表名:student 字段:sno、sname 、ssex,sbirthday、saddress、sdepartment、scredit、remark 将sno设置成标识字段,种子为0403110,增量 为1;department的默认值为计算机信息工程。 为各个字段选择合适的数据类型 注: sno学号, sname姓名, ssex性别 sbirthday出生年月,saddress地址, scredit学分,department系别,remark备注,2020年9月13日星期日,数据库技术,作业,4、在students表中插入记录sno、sname 、ssex,sbirthday、saddress、sdepartment、scredit 分别为:0403115、李华、男、1986-4-16 、浙江宁波、计算机信息工程、50的记录。,2020年9月13日星期日,数据库技术,作业,5. 为students表的sname字段设置唯一的非聚集索引。 为teachers表的tno和cno组合字段设置唯一的聚集索引。,2020年9月13日星期日,数据库技术,下课了。,追求,休息一会儿。,
展开阅读全文
相关资源
相关搜索

最新文档


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


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

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


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