《数据库整理》第3章sql.ppt
《《数据库整理》第3章sql.ppt》由会员分享,可在线阅读,更多相关《《数据库整理》第3章sql.ppt(104页珍藏版)》请在三一办公上搜索。
1、第3章 关系数据库标准语言SQL,2,3.1 SQL语言的基本概念与特点3.2 了解SQL Server 20083.3 创建与使用数据库3.4 创建与使用数据表3.5 创建与使用索引3.6 数据查询3.7 数据更新3.8 视图3.9 数据控制,3,结构化查询语言Structured Query Language,数据查询数据定义数据操纵 数据控制,SQL简洁、方便实用、功能齐全,已成为目前应用最广泛的关系数据库语言。,4,3.1 SQL语言的基本概念与特点,3.1.1 SQL语言的发展及标准化 SQL语言的发展,Chamberlin,SEQUEL,SQL,大型数据库 SybaseINFORM
2、IXSQL ServerOracleDB2INGRES-小型数据库 FoxProAccess,5,3.1.2 SQL语言的基本概念,基本表(Base Table)一个关系对应一个基本表 一个或多个基本表对应一个存储文件 视图(View)视图是从一个或几个基本表导出的表,是一个虚拟的表 S(SNo,SN,Sex,Age,Dept)S_Male(SNo,SN,Age,Dept),无数据,只有定义,Sex=男,在数据库中只存有S_Male的定义,数据仍在S表中,6,SQL语言支持的关系数据库的三级模式结构,7,3.1.3 SQL语言的主要特点,SQL语言是类似于英语的自然语言,简洁易用 SQL语言是
3、一种非过程语言 SQL语言是一种面向集合的语言 SQL语言既是自含式语言,又是嵌入式语言SQL语言具有数据查询、数据定义、数据操纵和数据控制四种功能,8,3.2 了解SQL Server 2008,企业版SQL Server 2008 是满足企业联机事务处理和数据仓库应用程序高标准要求的综合数据平台。标准版SQL Server 2008 Standard 是一个完整的数据管理和商业智能平台,为正在运行的部门应用程序提供一流的易用性和易管理性。Specialized 版本工作组版在此可靠的数据管理和报表平台上运行分机位置,提供安全性的远程同步和管理功能。网络版借助于面向 Web 服务环境的高度可
4、用的 Internet,为您的客户提供低成本、大规模、高度可用的 Web 应用程序或主机解决方案。移动版可以免费下载,为所有 Microsoft Windows 平台上的移动设备、桌面和 Web 客户端构建单机应用程序和偶尔连接的应用程序。免费版可以免费下载,Express 对于学习和构建桌面和小型服务器应用程序以及对于通过 ISV 重新分发非常理想。,9,SQL Server 发展,10,3.2.1 SQL Server 2008的组件与体系结构,SQL Server 2008系统由4个主要部分组成,这4个部分被称为4个服务,分别是上面的数据引擎、分析服务、报表服务和集成服务。这些服务之间相
5、互依存。,数据库引擎是(SQL Server Database Engine,SSDE)是SQL Server 2008系统的核心服务,负责完成业务数据的存储、处理、查询和安全管理等操作。例如:创建数据库、创建表、执行各种数据查询、访问数据库等操作都是由数据库引擎完成的。分析服务(SQL Server Analysis Server,SSAS)提供了多维分析和数据挖掘功能,可以支持用户建立数据库和进行商业智能分析。报表服务(SQL Server Reporting Services,SSRS)为用户提供了支持Web的企业级的报表功能。通过使用SQL Server 2008系统提供的SSRS服务
6、,用户可以方便地定义和发展布满足自己需求的报表。集成服务(SQL Server Integration Sevives,SSIS)是一个数据集成平台,可以完成有关数据的提取、转换、加载等。,11,3.2.2 企业管理器,由Enterprise Manager产生的SQL脚本是一个后缀名为.sql的文件企业管理器的管理工作,文本文件,管理数据库,管理数据库对象,管理备份,管理复制,管理登录和许可,管理SQL Server Agent,管理SQL Server Mail,企业管理器界面、菜单、工具栏,12,3.2.3 查询分析器,使用查询分析器的熟练程度是衡量一个SQL Server用户水平的标准
7、。,自SQL server 2005开始微将企业管理器和查询分析器合二为一,统一整合到 SQL Server Management Studio中。,13,3.3 创建与使用数据库,数据文件1,事务日志文件,数据库,数据文件n,存放数据库数据和数据库对象的文件 主要数据文件(.mdf)+次要数据文件(.ndf),只有一个,可有多个,记录数据库更新情况,扩展名为.ldf 当数据库破坏时可以用事务日志还原数据库内容,采用多个数据文件来存储数据的优点体现在:(1)数据文件可以不断扩充而不受操作系统文件大小的限制。(2)可将数据文件存储在不同的硬盘中,同时对多个硬盘做数据存取,提高效率。,14,文件组
8、文件组(File Group)是将多个数据文件集合起来形成的一个整体 主要文件组+次要文件组 一个数据文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用 日志文件不分组,它不能属于任何文件组,15,3.3.1 SQL Server的系统数据库,Model,Msdb,Tempdb,系统默认数据库,系统信息:磁盘空间;文件分配和使用;系统级的配置参数;登录账号信息;SQL Server初始化信息;系统中其他系统数据库和用户数据库的相关信息,Model数据库存储了所有用户数据库和Tempdb数据库的创建模板 通过更改Model数据库的设置可以大大简化数据库及其对象的创建设置工作,存储计划信
9、息以及与备份和还原相关的信息,Tempdb数据库用作系统的临时存储空间 存储临时表,临时存储过程和全局变量值,创建临时表,存储用户利用游标说明所筛选出来的数据,Master,16,3.3.2 SQL Server的实例数据库,实例数据库,pubs,Northwind,虚构的图书出版公司的基本情况,包含了一个公司的销售数据,SQL Server2005及SQL Server 2008中,代码示例和示例数据库不再随产品一起提供。但可以从 http:/下载。,17,3.3.3 创建用户数据库,用SQL Server Management Studio(SSMS)创建数据库 用SQL命令创建数据库 C
10、REATE DATABASE database_name ON,.n,.n LOG ON,.n COLLATE collation_name FOR LOAD|FOR ATTACH,18,例3-1 用SQL命令创建一个教学数据库Teach,数据文件的逻辑名称为Teach_Data,数据文件物理地存放在D:盘的根目录下,文件名为TeachData.mdf,数据文件的初始存储空间大小为10MB,最大存储空间为50MB,存储空间自动增长量为5MB;日志文件的逻辑名称为Teach_Log,日志文件物理地存放在D:盘的根目录下,文件名为TeachLog.ldf,初始存储空间大小为10MB,最大存储空间为
11、25MB,存储空间自动增长量为5MB。,CREATE DATABASE TeachON(NAME=Teach_Data,FILENAME=D:TeachData.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME=Teach_Log,FILENAME=D:TeachLog.ldf,SIZE=5,MAXSIZE=25,FILEGROWTH=5),19,CREATE DATABASE MyDBON PRIMARY(NAME=MyDB_file1,FILENAME=NC:DataMyDB_1.mdf,SIZE=10MB,MAXSIZE=50MB,FILEG
12、ROWTH=10%),(NAME=MyDB_file2,FILENAME=NC:DataMyDB_2.ndf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%),FILEGROUP NewFileGroup1(NAME=MyDB_file3,FILENAME=NC:DataMyDB_3.ndf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%),(NAME=MyDB_file4,FILENAME=NC:DataMyDB_4.ndf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%),FILEGROUP NewFile
13、Group2(NAME=MyDB_file5,FILENAME=NC:DataMyDB_5.ndf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME=MyDB_Logfile1,FILENAME=NC:DataMyDB_Logfile1.ldf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10%),(NAME=MyDB_Logfile2,FILENAME=NC:DataMyDB_Logfile2.ldf,SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO,数据库 MyDB,主文件组 10MB
14、C:DataMyDB_1.mdf 10MB C:DataMyDB_2.ndf,NewFileGroup1文件组 10MB C:DataMyDB_3.ndf 10MB C:DataMyDB_4.ndf,NewFileGroup2文件组 10MB C:DataMyDB_5.ndf,日志文件组 10MB C:DataMyDB_Logfile1.ldf 10MB C:DataMyDB_Logfile2.ldf,21,3.3.4 修改用户数据库,用SSMS修改数据库 用SQL命令修改数据库 ALTER DATABASE database_name ADD FILE,.n TO FILEGROUP fil
15、egroup_name|ADD LOG FILE,.n|REMOVE FILE logical_file_name WITH DELETE|ADD FILEGROUP filegroup_name|REMOVE FILEGROUP filegroup_name|MODIFY FILE|MODIFY NAME=new_dbname|MODIFY FILEGROUP filegroup_name filegroup_property|NAME=new_filegroup_name|SET,.n WITH|COLLATE,22,例3-2 修改Teaching数据库中的逻辑文件名Teaching_Da
16、ta的文件增容方式为一次增加2MB。,ALTER DATABASE TeachingMODIFY FILE(NAME=Teaching_Data,FILEGROWTH=2mb),23,3.3.5 删除用户数据库,用SSMS删除数据库 用SQL命令删除数据库 DROP DATABASE database_name,.n 例3-3 删除数据库Teach。DROP DATABASE Teach,24,3.3.6 查看数据库信息,用SSMS查看数据库信息(属性)用系统存储过程显示数据库信息 用系统存储过程显示数据库结构 用系统存储过程显示文件信息 用系统存储过程显示文件组信息,Sp_helpdb db
17、name=name,Sp_helpfile filename=name,Sp_helpfilegroup filegroupname=name,25,EXEC Sp_helpdb NorthwindEXEC Sp_helpfile Northwind EXEC Sp_helpfilegroup,26,3.4 创建与使用数据表,3.4.1 数据类型,整数数据,精确数值,近似浮点数值,日期时间数据,bigint,int,smallint,tinyint,numeric和decimal,float和real,datetime与smalldatetime,27,字符串数据,Unicode字符串数据,二
18、进制数据,货币数据,char、varchar、text,nchar、nvarchar与ntext,binary、varbinary、image,money与smallmoney,标记数据,timestamp和uniqueidentifier,28,3.4.2 创建数据表,用SSMS创建数据表 相关属性定义“字段名”“数据类型”字段的“长度”、“精度”和“小数位数”“允许空”“默认值”,同一表中不许有重名字段,系统默认为NULL,29,用SQL命令创建数据表 CREATE TABLE(,|)例3-4 用SQL命令建立一个学生表S。CREATE TABLE S(SNo CHAR(6),SN VAR
19、CHAR(8),Sex CHAR(2)DEFAULT 男,Age INT,Dept VARCHAR(20),DEFAULT,缺省值为“男”,30,3.4.3 定义数据表的约束,正确性,有效性,相容性,数据的完整性,约束(Constraint)默认(Default)规则(Rule)触发器(Trigger)存储过程(Stored Procedure),SQL Server的数据完整性机制,第3章,第5章,第7章,31,完整性约束的基本语法格式 CONSTRAINT,NULL/NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK,约束是SQL Server自动强
20、制数据库完整性的方式,约束定义了列中允许的取值。列约束 CONSTRAINT 表约束,CONSTRAINT(,),列约束,列约束/表约束,列约束/表约束,列约束/表约束,列约束/表约束,32,NULL/NOT NULL约束 NULL表示“不知道”、“不确定”或“没有数据”的意思 主键列不允许出现空值 CONSTRAINT NULL|NOT NULL例3-5 建立一个S表,对SNo字段进行NOT NULL约束。CREATE TABLE S(SNo CHAR(6)CONSTRAINT S_Cons NOT NULL,SN VARCHAR(8),Sex CHAR(2),Age INT,Dept VA
21、RCHAR(20),可省略约束名称:SNo CHAR(6)NOT NULL,33,UNIQUE约束(惟一约束)指明基本表在某一列或多个列的组合上的取值必须惟一在建立UNIQUE约束时,需要考虑以下几个因素:使用UNIQUE约束的字段允许为NULL值。一个表中可以允许有多个UNIQUE约束。可以把UNIQUE约束定义在多个字段上。UNIQUE约束用于强制在指定字段上创建一个UNIQUE索引,缺省为非聚集索引。UNIQUE用于定义列约束 CONSTRAINT UNIQUE UNIQUE用于定义表约束 CONSTRAINT UNIQUE(,),34,例3-6 建立一个S表,定义SN为惟一键。CREA
22、TE TABLE S(SNo CHAR(6),SN CHAR(8)CONSTRAINT SN_Uniq UNIQUE,Sex CHAR(2),Age INT,Dept VARCHAR(20)例3-7 建立一个S表,定义SN+SEX为惟一键,此约束为表约束。CREATE TABLE S(SNo CHAR(6),SN CHAR(8)UNIQUE,Sex CHAR(2),Age INT,Dept VARCHAR(20),CONSTRAINT S_UNIQ UNIQUE(SN,Sex),SN_Uniq可以省略 SN CHAR(8)UNIQUE,35,PRIMARY KEY约束(主键约束)用于定义基本表
23、的主键,起惟一标识作用PRIMARY KEY与UNIQUE 的区别:一个基本表中只能有一个PRIMARY KEY,但可多个UNIQUE对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现NULL值,而对于UNIQUE所约束的惟一键,则允许为NULL 对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现NULL值,而对于UNIQUE所约束的惟一键,则允许为NULL,不能为NULL,不能重复,36,PRIMARY KEY用于定义列约束 CONSTRAINT PRIMARY KEY PRIMARY KEY用于定义表约束 CONSTRAINT P
24、RIMARY KEY(,)例3-8 建立一个S表,定义SNo为S的主键,建立另外一个数据表C,定义CNo为C的主键。CREATE TABLE S(SNo CHAR(6)CONSTRAINT S_Prim PRIMARY KEY,SN CHAR(8),Sex CHAR(2),Age INT,Dept VARCHAR(20)CREATE TABLE C(CNo CHAR(5)CONSTRAINT C_Prim PRIMARY KEY,CN CHAR(20),CT INT),37,例3-9 建立一个SC表,定义SNo+CNo为SC的主键。CREATE TABLE SC(SNo CHAR(5)NOT
25、NULL,CNo CHAR(5)NOT NULL,Score NUMERIC(4,1),CONSTRAINT SC_Prim PRIMARY KEY(SNo,CNo),38,FOREIGN KEY约束(外键约束)CONSTRAINT FOREIGN KEY REFERENCES(,),外部键,从表,主键,主表,引用,39,例3-10 建立一个SC表,定义SNo,CNo为SC的外部键。CREATE TABLE SC(SNo CHAR(5)NOT NULL CONSTRAINT S_Fore FOREIGN KEY REFERENCES S(SNo),CNo CHAR(5)NOT NULL CON
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库整理 数据库 整理 sql
链接地址:https://www.31ppt.com/p-5898636.html