《第四章数据库的创建精选文档课件.ppt》由会员分享,可在线阅读,更多相关《第四章数据库的创建精选文档课件.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 数据库和数据表的创建数据库和数据表的创建管理管理n数据库是数据的集合;n数据库表是同类实体的集合;n数据库包括数据库表和其他的数据对象。4.1数据库和数据库表数据库数据库数据库数据库数据库表数据库表数据库表数据库表数据库系统和数据库管理系统n数据库系统是可运行、可维护的软件系统n数据库系统包含数据库管理系统在内用户(包括数据库管理员)用户(包括数据库管理员)用户(包括数据库管理员)用户(包括数据库管理员)应用程序应用程序应用程序应用程序数据库管理系统数据库管理系统数据库管理系统数据库管理系统操作系统操作系统操作系统操作系统硬件硬件硬件硬件DBMS的发展史n萌芽阶段文件系统数据库n
2、初级阶段第一代数据库n中级阶段第二代数据库n高级阶段新一代数据库文件系统数据库n5060年代n利用文件系统和操作系统n简单、方便、低效率第一代数据库n60、70年代n网状数据库n层次数据库nIBM公司的IMS层次结构数据库系统第二代数据库n70、80年代n关系模型数据库n小型的:dBase、FoxPro、Paradoxn中型的:SQL Server 6.5n大型的:DB2、ORACLE关系数据模型n用户接口简洁、方便、直观n底层数据结构简单清晰n查询和处理效率比较低数据表数据表数据表数据表数据表数据表核心服务核心服务用户用户用户用户用户用户当今常用的数据库简介nMicrosoft公司的SQL
3、ServernOracle公司的ORACLEnIBM公司的DB24.2 SQL Server的发展史n1988年-第一次出现SQL Server名称。微软、Sybase和Ashton-Tate合作,在Sybase的基础上生产出了在OS/2操作系统上使用的SQL Server 1.0。n1989年-SQL Server 1.0面世,取得了较大的成功,微软和Ashton-Tate分道扬镳。SQL Server的发展史n1991年-SQL Server 1.11版发布。n1992年-微软和Sybase共同开发的SQL Server4.2面世。n1993年-微软推出Windows NT 3.1,抢占服
4、务器操作系统市场并取得了巨大的成功,同期推出的SQL Server for Windows NT 3.1也成为畅销产品。n1994年-微软和Sybase分道扬镳。SQL Server的发展史n2019年-SQL Server 6.0发布。随后推出的SQL Server 6.5 取得巨大成功。n2019年-SQL Server 7.0发布,SQL Server 7.0开始进军企业级数据库市场。SQL Server的发展史n2000年,SQL Server 2000 企业级数据库系统,其包含了三个组件(DB,OLAP,English Query)。丰富前端工具,完善开发工具,以及对XML的支持等,
5、促进了该版本的推广和应用。n 2019年,SQL Server 2019 最新版本,历时5年的重大变革。n 2019年,SQL Server 2019(Katmi)发布。SQL server版本体系n1、企业版(Enterprise Edition)n2、标准版(Standard Edition)n3、开发版(Developer Edition)n4、工作组版(Workgroup Edition)n5、网络版(Web Edition)n6、移动版(Compact)n7、免费版(Express)SQL Server Management Studion1、启动n2、对象资源管理器 是服务器中所有
6、数据库对象的树视图。包括:数据库引擎;Analysis Service;Integration Service和SQL Server Compact的数据库。3、模板资源管理器4.3 数据库概述nSQL Server 数据库分类nSQL Server 数据库构成n创建数据库时的属性数据库概述nSQL Server支持在一台服务器上创建多个数据库。每个数据库可以存储与某个应用相关的数据。n例如,银行贷款数据库;n 人事管理数据库。1.SQL Server 数据库分类nSQL Server 数据库分类n系统数据库:是SQL Server数据库管理系统自动维护的,这些数据库用于存放维护系统正常运行的
7、信息,如服务器上共建有多少个数据库,每个数据库的属性以及包含的对象等。n用户数据库:存放与业务有关的数据,数据由用户来维护。1.SQL Server 数据库分类nSQL Server 数据库分类n系统数据库Master、model、msdb、tempdbn用户数据库n系统提供的:Pubs、Northwindn用户自己创建的数据库2.SQL Server数据库构成Extent(8 contiguous 8-KB pages)Page(8 KB)Tables,IndexesDataDatabaseDatabaseData(file).mdf or .ndfLog(file).ldfMaximum
8、row size=8060 bytes1、SQL Server数据库文件nSQL Server的数据库由两类文件构成:n(1)数据文件:用于存放数据库数据。分为主要数据文件和次要数据文件。n主要数据文件:每个数据库都包含一个主要数据文件,内涵数据库的启动信息,也可用于存储数据,扩展名mdf.n次要数据文件:含有不能放入主要数据文件的数据。扩展名:ndfSQL Server数据库文件n2、日志文件 用于记录页的分配和释放以及对数据库数据的修改操作,包含用于恢复数据库的日志信息。扩展名.ldf 每个数据库至少有一个日志文件。数据库的逻辑名称和物理名称的区别。SQL Server 文件组n类似于文件
9、夹,用于管理数据库中的数据文件。n日志文件没有文件组的概念。nSQL Server文件组可以分为两种类型n主要文件组n用户定义文件组页和区n1、页Pagen数据文件存储的基本单位页(Page)。每页是一块8K的连续磁盘空间。1M=128页n2、区n8个物理上连续的页的集合称为区,用来有效的管理页。所有页都存储在区中,即1M的数据库文件包含16个区。3.创建数据库时指定的属性n数据库名n逻辑文件名n物理存储位置n初始大小n增长方式n最大大小 创建数据库n1.使用Sql Server Management Studion2.使用T-SQL语言创建数据库删除数据库n使用企业管理器n使用语句:nDRO
10、P DATABASE 数据库名,分离和附加数据库n分离数据库n附加数据库4.2数据表的创建和管理SQL语句基本概念nT-SQL是微软在SQL Server中使用的语言,它是一个数据定义、操作和控制语言。nSQL是Structured Query Language(结构化查询语言)的缩写nSQL已经成为关系数据库的标准数据语言,所以现在所有的关系数据库管理系统都支持SQL SQL语言介绍n什么是SQL语言nSTRUCTURE 结构化 nSQL 利用结构化的语句(STATEMENT)和子句(CLAUSE)来使用和管理数据库。如“SELECT”语句,“FROM”子句;SQL语言介绍nQUERY 查询
11、 nSQL主要用来查询数据库信息。广义的查询还包括创建数据库、给用户指派权限等功能;nLANGUAGE 语言 nSQL 是在对应的服务器提供的解释或编译环境下运行的,因此不能脱离运行环境独立运行。例如,操作SQL Server数据库的T-SQL语言就不能脱离SQL SERVER环境运行。SQL语言的分类语言的分类(1)DDL(Data Definition Language):数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言;(2)DML(Data Manipulation Language):数据操纵语言,SQL中处理数据(包括数据的增加INSERT、删除DELETE、修改UP
12、DATE、查询SELECT)等操作统称为数据操纵语言;SQL语言的分类语言的分类(3)DCL(Data Control Language):数据控制语言,主要实现对用户权限的分配等处理。(4)事务管理语言:用于管理事务。包括:Begin Transaction(开始事务);Commit Transaction(提交事务);RollBack Transaction(撤销事务)。(5)其他附加语言元素。编程基础。4.2.2 T-SQL数据类型 1、系统数据类型 字符串型;日期、时间型;.货币类型2、用户定义数据类型1.数值型n数字数据类型:包括正数、负数、分数、小数和整数;数字数据类型分为:整型数
13、和非整型数字。非整型数字又分为精确数字类型和近似数字类型。n近似型:用于表示浮点型数值的近似数据类型。1.数值型n定长(准确表达)n整数 Bigint:8字节,Int:4字节 Smallint:2字节,Tinyint:1字节 n小数Numeric(p,q)或Decimal(p,q),其中:p为数字位长度,q:小数位长度。数值型n浮点(近似)数:Float:8字节 Real:4字节货币数据类型n可以使用Money和Smallmoney两种数据类型存储货币类型数据或货币值,这些数据类型可以使用常用的货币符号。¥$等。Money 8字节Smallmoney 4字节日期和时间数据类型n日期和时间数据类
14、型包括datetime、datetime2、date、datetimeoffset、smalldatetime和time。n常量使用特定格式的字符日期值表示,并用单引号括起来。字符串型 字符串是由汉字、英文字母、数字和各种符号组成。用单引号括起来。n普通编码字符串类型n统一字符编码字符串类型n二进制字符串类型普通编码字符串类型nChar(n):定长存储,n=8000 nVarchar(n):不定长存储(按实际长度存储),长度最大不超过n,n=8000 注:n 为字符个数nText:存储大于8000字节的文本统一字符编码字符串类型nnchar(n):定长存储,n=4000 nnvarchar(n
15、):不定长存储,长度最大不超过n,n=4000 nntext:存储大于8000字节的文本n特点:每个字符占两个字节3.日期时间型 nDatetime:8字节,年月日时分秒毫秒n(例:2019/08/03 10:30:00.000)n nSmallDateTime:4字节,年月日时分(例:2019/08/03 10:30:00)n日期、时间的输入格式4.货币类型n表示正的或负的货币值nMoney:精确到货币单位的千分之十。存储大小为 8 个字节。nSmallmoney:精确到货币单位的千分之十。存储大小为 4 个字节。n限制到小数点后 4 位。n货币类型的数值可以带有适当的货币符号。例如,若要指
16、定 100 英镑,使用 100。4.3 4.3 创建表创建表n表是数据库中非常重要的对象,用于存储用户的数据。nSQL Server 2000中,每个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024列,也就是可以定义1024个字段。CREATE TABLE (列定义|约束定义)(1 1)表名)表名:表达本表应用语义的字串。(2 2)列列定定义义(单列定义序列):单列定义,单列定义,单列定义由列名、列类型(尺寸)、列约束,组成(用空格分隔)用语句创建表列定义各项含义 列名:表达本列属性语义的字串。(必须填写)类型尺寸:本列数据存储规格。(必须填写)约束关键字:nUNIQ
17、UE:指明本列数据值不重nNOT NULL:指明本列数据值非空nPRIMARY KEY:指明本列为主码(单列主码)nFOREIGN KEY(外码列名)REFERENCES 主表名(列名):指明本列为外码约束定义n 列取值非空约束n NOT NULL例:sname char(10)NOT NULL 表主码约束 在定义列时定义主码(仅用于单列主码)n列定义 PRIMARY KEYn例:SNO char(7)PRIMARY KEY,在定义完列时定义主码(用于单列或多列主码)nPRIMARY KEY()例:PRIMARY KEY(SNO)PRIMARY KEY(SNO,CNO)外码引用约束n指明本表外
18、码列引用的表及表中的主码列。FOREIGN KEY()REFERENCES()例:FOREIGN KEY(sno)REFERENCES 学生表(sno)学生表(学号,姓名,性别,年龄、所在系)CREATE TABLE Student(Sno CHAR(10)PRIMARY KEY,Sname CHAR(10),Ssex CHAR(2)NOT NULL,Sage TINYINT,Sdept CHAR(20)sql语句创建表课程表(课程号,课程名,学分,学期)CREATE TABLE Course(Cno CHAR(6)NOT NULL,Cname CHAR(20)NOT NULL,Credit
19、TINYINT NOT NULL,-学分学分 Semester CHAR(2),-学期学期PRIMARY KEY(CNO)sql语句创建表学生修课表(学号,课程号,成绩,修课类别)CREATE TABLE SC(Sno CHAR(10)NOT NULL,Cno CHAR(6)NOT NULL,Grade TINYINT ,XKLB CHAR(4),PRIMARY KEY(SNO,CNO),FOREIGN KEY(SNO)REFERENCES Student(Sno),FOREIGN KEY(CNO)REFERENCES Course(Cno)sql语句创建表4.4 管理表包括增加、删除和修改列定义实现手段使用企业管理器使用SQL语句ALTER TABLE ADD|DROP COLUMN 列名|ALTER COLUMN 修改表结构语句 修改表结构例例2:将学生姓名改为20个字符长。例例1.给学生表给学生表添加“专业专业”列。列。ALTER TABLE STUDENT ALTER COLUMN SNAME char(20)ALTER TABLE STUDENT ADD SPEC char(20)删除表n删除表:删除表内数据及表的定义 n格式:DROP TABLE ,n例:DROP TABLE Studentxiexie!xiexie!谢谢!谢谢!
限制150内