sql语言基础及数据定义功能.ppt

上传人:小飞机 文档编号:6521089 上传时间:2023-11-08 格式:PPT 页数:52 大小:1.90MB
返回 下载 相关 举报
sql语言基础及数据定义功能.ppt_第1页
第1页 / 共52页
sql语言基础及数据定义功能.ppt_第2页
第2页 / 共52页
sql语言基础及数据定义功能.ppt_第3页
第3页 / 共52页
sql语言基础及数据定义功能.ppt_第4页
第4页 / 共52页
sql语言基础及数据定义功能.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《sql语言基础及数据定义功能.ppt》由会员分享,可在线阅读,更多相关《sql语言基础及数据定义功能.ppt(52页珍藏版)》请在三一办公上搜索。

1、第3章 SQL语言基础及数据定义功能,3.1 SQL语言概述3.2 数据类型 3.3 创建数据库3.4 创建与维护关系表,概述,SQL(Structured Query Language)是用户操作关系数据库的通用语言。包含数据定义、数据查询、数据操作和数据控制等与数据库有关的全部功能。已成为关系数据库的标准语言。所有的关系数据库管理系统都支持SQL。,3.1 SQL语言概述,3.1.1 SQL语言的发展 3.1.2 SQL语言的特点3.1.3 SQL语言功能概述,3.1.1 SQL语言的发展,1986年10月美国ANSI公布最早的SQL标准。1989年4月,ISO提出了具备完整性特征的SQL

2、,称为SQL-89(SQL1)。1992年11月,ISO又公布了新的SQL标准,称为SQL-92(SQL2)(以上均为关系形式)。1999年颁布SQL-99(SQL3),是SQL92的扩展。,3.1.2 SQL语言的特点,1.一体化2.高度非过程化3.简洁4.使用方式多样,3.1.3 SQL语言功能概述,四部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。,3.2 数据类型,数值类型 字符串类型日期时间类型货币类型,精确数值类型,近似数值数类型,字符串类型,普通编码字符串类型统一字符编码字符串类型二进制字符串类型,普通编码字符串类型,说明:如果在使用char(n)或varchar(

3、n)类型时未指定n,则默认长度为1。如果在使用CAST和CONVERT函数时未指定n,则默认长度为30。,统一字符编码字符串类型,二进制字符串类型,日期时间类型,日期时间类型(续),货币类型,3.3 创建数据库,3.3.1 SQL Server数据库分类3.3.2 数据库基本概念3.3.3 用图形化方法创建数据库3.3.4 用T-SQL语句创建数据库,3.3.1 SQL Server数据库分类,两大类:系统数据库:存放维护系统正常运行的信息。用户数据库:存放用户自己的信息。,系统数据库,Master:最重要数据库,用于记录所有系统级信息。Msdb:保存关于报警、作业、操作员等信息Model:包

4、含所有用户数据库的共享信息。当用户创建数据库时,系统自动将model数据库中的内容复制到新建数据库中。Tempdb:临时数据库,用于存储用户创建的临时表、用户声明的变量以及用户定义的游标数据等。,3.3.2 数据库基本概念,1SQL Server数据库的组成2关于数据的存储分配3数据库文件的属性,1SQL Server数据库的组成,SQL Server将数据库映射为一组操作系统文件,这些文件被划分为两类:数据文件和日志文件。数据文件包含数据和对象,例如表、索引、存储过程和视图等。日志文件包含恢复数据库中的所有事务需要的信息。数据和日志信息不混合在同一个文件中,一个文件只由一个数据库使用。,数据

5、文件,用于存放数据库数据。数据文件又分为:主要数据文件:推荐扩展名是.mdf,包含数据库的系统信息,也可存放用户数据。每个数据库都有且只能有一个主要数据文件。是为数据库创建的第一个数据文件。不能小于3MB。次要数据文件:推荐扩展名是.ndf。一个数据库可以包含0n个次要数据文件。可与主要数据文件存放在不同地方。所有文件的使用对用户也是透明的。,日志文件,推荐扩展名为.ldf。用于存放恢复数据库的所有日志信息。每个数据库有1n个日志文件。,2关于数据的存储分配,数据库中数据的存储分配单位是数据页。一页是一块8KB(其中用8060个字节存放数据,另外132个字节存放系统信息)的连续磁盘空间。页是存

6、储数据的最小空间分配单位。不允许表中的一行数据存储在不同页上(varchar(max)、nvarchar(max)、text、ntext、varbinary(max)和image数据类型除外),即行不能跨页存储。,示例,假设某数据表有10000行数据,每行3000字节,估算其需要的空间:(10000/2)*8KB=40MB其中,每页中有6000字节用于存储数据,有2060个字节是浪费的。,3数据库文件的属性,文件名及其位置:每个文件都有一个逻辑文件名和物理文件名及物理存储位置初始大小:可以指定每个文件的初始大小。增长方式:可以指定文件是否自动增长最大大小:可以指定文件增长的最大空间限制,3.3

7、.3 用图形化方法创建数据库,在SSMS的“对象资源管理器”中,在“数据库”节点上右击鼠标,在弹出的菜单中选择“新建数据库”命令;在“新建数据库”窗口中进行相应设置。,3.3.4 用T-SQL语句创建数据库,CREATE DATABASE database_name ON PRIMARY,.n LOG ON,.n:=(NAME=logical_file_name,FILENAME=os_file_name|filestream_path,SIZE=size KB|MB|GB|TB,MAXSIZE=max_sizeKB|MB|GB|TB|UNLIMITED,FILEGROWTH=growth_i

8、ncrementKB|MB|GB|TB|%),.n,示例1,例1创建一个名为“学生管理数据库”的数据库,其他选项均采用默认设置。CREATE DATABASE 学生管理数据库,示例2,CREATE DATABASE RShDBON(NAME=RShDB,FILENAME=D:RShDB_DataRShDB.mdf,SIZE=10,MAXSIZE=30,FILEGROWTH=5)LOG ON(NAME=RShDB_log,FILENAME=D:RShDB_DataRShDB_log.ldf,SIZE=3,MAXSIZE=12,FILEGROWTH=2),示例3,CREATE DATABASE s

9、tudentsON PRIMARY(NAME=students,FILENAME=F:Datastudents.mdf,SIZE=3MB,MAXSIZE=UNLIMITED),(NAME=students_data1,FILENAME=D:Datastudents_data1.ndf,SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB)LOG ON(NAME=students_log,FILENAME=F:Datastudents_log.ldf,SIZE=2MB,MAXSIZE=6MB,FILEGROWTH=10%),3.4 创建与维护关系表,3.4.1 用T-SQL语

10、句实现3.4.2 用SSMS工具实现,3.4.1 用T-SQL语句实现,1 创建表2 定义完整性约束3 修改表结构4 删除表,1 创建表,CREATE TABLE(列级完整性约束定义,列级完整性约束定义,表级完整性约束定义),2 定义完整性约束,NOT NULL:限制列取值非空。DEFAULT:给定列的默认值。UNIQUE:限制列取值不重。CHECK:限制列的取值范围。PRIMARY KEY:定义主码。FOREIGN KEY:定义外码。说明:NOT NULL和DEFAULT只能定义在列级完整性约束处多列的CHECK约束只能定义在表级完整性约束处,主码约束,语法格式:PRIMARY KEY(,n

11、)如果是在列级完整性约束处定义单列的主码,可省略方括号部分。,外码约束,语法格式为:FOREIGN KEY()REFERENCES()如果是在列级完整性约束处定义单列的外码,可省略方括号部分。,UNIQUE约束,用于限制在一个列中不能有重复的值。语法格式为:数据类型 UNIQUE(,n)如果是在列级完整性约束处定义单列的UNIQUE约束,则可以省略括号部分。,DEFAULT约束,用于提供列的默认值。一个列只能有一个默认值约束,而且一个默认值约束只能用在一个列上。只能定义在列级完整性约束处。语法格式:DEFAULT 默认值,CHECK约束,用于限制列的输入值在指定的范围内。语法格式:CHECK(

12、逻辑表达式)说明:逻辑表达式中不能包含来自多个表的列。,Student表结构,定义Student表,CREATE TABLE Student(Sno CHAR(7)PRIMARY KEY,Sname NCHAR(5)NOT NULL,SID CHAR(18)UNIQUE,Ssex NCHAR(1)DEFAULT 男,Sage TINYINT CHECK(Sage=15 AND Sage=45),Sdept NVARCHAR(20),Course表结构,定义Course表,CREATE TABLE Course(Cno CHAR(6)PRIMARY KEY,Cname NVARCHAR(20)N

13、OT NULL,Credit NUMERIC(3,1)CHECK(Credit0),Semester TINYINT),SC表结构,定义SC表,CREATE TABLE SC(Sno CHAR(7)NOT NULL,Cno CHAR(6)NOT NULL,Grade TINYINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno),3 修改表结构,在定义基本表之后,如果需求有变化,比如添加列、删除列或修改列定义,可以使用ALTER TABLE语句

14、实现。ALTER TABLE语句可以对表添加列、删除列、修改列的定义,也可以添加和删除约束。,ALTER TABLE语句语法,ALTER TABLE ALTER COLUMN|ADD|DROP COLUMN|ADD 约束定义|DROP,示例,例2为SC表添加“修课类别”列,此列的定义为:Type NCHAR(1),允许空。ALTER TABLE SC ADD Type NCHAR(1)NULL例3将新添加的Type列的数据类型改为NCHAR(2)。ALTER TABLE SC ALTER COLUMN Type NCHAR(2),示例,例4为Type列添加限定取值范围为必修、选修的约束。ALTER TABLE SC ADD CHECK(Type IN(必修,选修)例5删除SC表的“Type”列。ALTER TABLE SC DROP COLUMN Type,4 删除表,当不再需要某个表时,可以将其删除。删除表的语句格式为:DROP TABLE,例:删除test表:DROP TABLE test,3.4.2 用SSMS工具实现,在数据库的“表”节点上右击鼠标,在弹出的单中选择“新建表”命令。在表设计器窗格中进行相应的设置。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号