1 / 33

数据库原理 第三章:关系数据库标准语言 SQL

数据库原理 第三章:关系数据库标准语言 SQL. 授课教师:王哲. 复习上节课内容. SQL 基础知识 概述、 SQL 特点、基础概念 SQL Server 2005 基础知识 发展史、版本信息、安装环境、平台 SQL Server 2005 体系结构 逻辑角度、物理角度 界面方式下创建及管理数据库 数据库属性(名称、大小、增长方式等). 本次课学习内容. 命令方式下管理数据库 管理数据表 界面方式创建、修改、删除表 命令方式创建、修改、删除表. 1 、命令方式下管理数据库. 创建数据库: CREATE 修改数据库: ALTER 删除数据库: DROP.

kellsie
Download Presentation

数据库原理 第三章:关系数据库标准语言 SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理第三章:关系数据库标准语言SQL 授课教师:王哲

  2. 复习上节课内容 • SQL基础知识 • 概述、SQL特点、基础概念 • SQL Server 2005基础知识 • 发展史、版本信息、安装环境、平台 • SQL Server 2005体系结构 • 逻辑角度、物理角度 • 界面方式下创建及管理数据库 • 数据库属性(名称、大小、增长方式等)

  3. 本次课学习内容 • 命令方式下管理数据库 • 管理数据表 • 界面方式创建、修改、删除表 • 命令方式创建、修改、删除表

  4. 1、命令方式下管理数据库 • 创建数据库:CREATE • 修改数据库:ALTER • 删除数据库:DROP

  5. 1)命令方式下创建数据库 在使用T-SQL语句创建数据库中,其核心是CREATE DATABASE 语句。该语句基本语法格式是: CREATE DATABASE database_name /*指定数据库名*/ [ON file子句] /*指定数据库文件和文件组属性 [LOG ON file子句] /*指定日志文件属性*/

  6. file子句 • NAME=logical_file_name, • FILENAME=’os_file_name’ • [,SIZE=size] • [,MAXSIZE={max_size|UNLIMITED}] • [,FILEGROWTH=grow_increment]) • [,...n]

  7. 例1:要求创建一个学生-课程数据库(名称为student)。例1:要求创建一个学生-课程数据库(名称为student)。 Create database student 例2:要求在本地磁盘D创建一个学生-课程数据库(名称为student1),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。

  8. CREATE DATABASE student1 ON ( NAME = stu, FILENAME = 'D:\stu.mdf' , SIZE = 3MB , MAXSIZE = 500MB , FILEGROWTH = 10%) LOG ON ( NAME = stu_log, FILENAME = ‘D:\stu_log.ldf’ , SIZE = 1MB , MAXSIZE = unlimited,FILEGROWTH = 1MB )

  9. 2)命令方式修改数据库 主要内容: 增加或删除数据文件 改变数据文件的大小和增长方式 增加或删除日志文件 改变日志文件的大小和增长方式 增加或删除文件组

  10. 语法格式 Alter database database_name {add file <filespec>[,…n] [to filegroup filegroupname] |add log file <filespec>[,…n] |remove file logical_file_name [with delete] |modify file <filespec> |modify name=new_databasename |add filegroup filegroup_name |remove filegroup filegroup_name |modify filegroup filegroup_name }

  11. 3)命令方式删除数据库 语法格式: DROP DATABASE 〈,数据库名组〉 例1:将数据库student删除,可使用下述语句。 DROP DATABASE student GO

  12. 练习题 1、创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。

  13. 例2:修改数据库student现有数据文件的属性,将主数据文件的最大大小改为50MB,增长方式改为每次2MB增长。例2:修改数据库student现有数据文件的属性,将主数据文件的最大大小改为50MB,增长方式改为每次2MB增长。 例3:对数据库student增加数据文件student2,初始大小为10MB,最大大小为50MB,按10%增长。 例4:删除新增的数据文件student2 例5:将数据库student的名字改为DB。

  14. 二、管理数据表 建立数据库最重要的一步就是创建其中的数据表,即决定数据库包括哪些表,每个表中包含哪些字段,每个字段的数据类型等。 创建表的实质就是定义表结构及约束等属性,在创建数据表之前,先要设计表,即确定表的名字、所包含的各字段名、字段的数据类型、长度、是否可为空值等等,这些属性构成表结构。

  15. 主要内容: • 常见数据类型 • 界面方式下创建及编辑数据表 • 命令方式下创建及编辑数据表

  16. 1、常见数据类型

  17. 1)整数型

  18. 2)字符型 • char[(n)] 定长字符数据类型,其中n定义字符型数据的长度,n在1到8000之间,缺省为1。当表中的列定义为char(n)类型时,若实际要存储的串长度不足n时,则在串的尾部添加空格以达到长度n,所以char(n)的长度为n。 (2)varchar[(n)] 变长字符数据类型,其中n的规定与定长字符型char中n完全相同,但这里n表示的是字符串可达到的最大长度。varchar(n)的长度为输入的字符串的实际字符个数,而不一定是n。

  19. 3)精确数值型 4)浮点型

  20. 5)日期时间类型

  21. 6)货币型 7)位型

  22. 2、界面方式下管理数据表 主要内容: 创建数据表 修改数据表 删除数据表

  23. 案例:以本章学生-课程数据库为例,创建以下内容案例:以本章学生-课程数据库为例,创建以下内容 学生-课程模式 S-T : 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade)

  24. 界面方式下修改表 当创建了一个表后,随着应用环境和应用需求的变化,有时需要对表结构、列的属性进行修改,对于一个已经存在的表可以进行的修改操作有: 1) 更改表名 2) 增加字段、删除字段 3) 修改已有字段的属性(字段名、数据类型、长度、是否为空值) 界面方式下删除表

  25. 查看表属性 SQL Server 2005的数据表可分为用户表和系统表两种类型,用户表是数据库用户创建的表,用于存放用户的数据,系统表则是SQL Server 2005为实现数据库维护而创建的表,任何用户都不应该直接修改系统表,否则会导致数据库无法使用。 在目录树窗口中选中数据库中的“表”项目,即可在内容窗口中显示出该数据库包含的数据表。

  26. 练习 在数据库teacher内创建: 教师基本情况表(jbqk): 教师编号(teacher_no) 教师姓名(teacher_name) 教师所在部门编号(department_no) 教师职称(teacher_grade) 教师上课情况表(skqk): 教师编号(teacher_no) 所上课程(course_kc) 是否专业课(course_zy) 课时数(course_ks) 班级号(classe_number) 总人数(total_number)

  27. 3、命令方式下管理数据表 • 在T-SQL中,用于创建数据表的语句是CREATE TABLE,该语句的基本语法格式为:

  28. 创建数据表的完整语法格式为: CREATE TABLE 表名 (列名 数据类型[缺省值][NOT NULL] [,列名 数据类型[缺省值][NOT NULL]]…. [,UNIQUE(列名[,列名]….)] [,PRIMARY KEY(列名[,列名]…)] [,FOREIGN KEY (列名[,列名]…)REFERENCES 表名(列名[,列名]…)] [,CKECK (条件)])

  29. 参数说明: • DEFAULT (缺省值):指定列的缺省值;NOT NULL:列值不能为空值;UNIQUE:取值唯一的列名;PRIMARY KEY:主关键字(主码)列名;FOREIGN KEY:外部码列名;REFERENCES:引用的外部码的表名和列名 CKECK :指定表级约束条件。

  30. 练习1:在数据库student中创建stu_info表,表中包括:学号、姓名、出生年月、性别、地址、电话号码、邮编,所在系代号,每月生活补贴等。练习1:在数据库student中创建stu_info表,表中包括:学号、姓名、出生年月、性别、地址、电话号码、邮编,所在系代号,每月生活补贴等。 USE student CREATE TABLE stu_info ( 学号 char(10) NOT NULL PRIMARY KEY, 姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL default('女'), 地址 char(20), 电话号码 char(12), 邮编 char(6), 系代号 tinyint, 每月生活补贴 money ) go

  31. 创建数据表时使用默认值、约束 CREATE TABLE stu1 (stuid CHAR(8) PRIMARY KEY, stuname CHAR(8), stusex CHAR(2) default('男'), stuage int check(stuage>=0 and stuage<=100) default 20, studept varchar(30) )

  32. 练习:以本章学生-课程数据库为例,创建学生-课程库及以下内容: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade)

  33. 总结 • 命令方式下管理数据库 • 管理数据表 • 界面方式创建、修改、删除表 • 命令方式创建、修改、删除表 • 管理表数据 • 插入数据 • 更新数据 • 删除数据

More Related