第6章 管理数据库和数据表
数据库课件第6章 关系数据库设计

“学生”是该系统的一个核心数据结构,它可以描述如 下: 数据结构: 学生 含义说明: 是教学管理子系统的主体数据结构, 定义了一个学生的相关信息。 组成: 学号,姓名,性别,年龄,所在系,年级
2.分析得到系统的信息需求
例如: ⑴ 教学管理子系统的信息需求
管理学生、班级、教师、课程、专业和系等信息。 ①学生:学号、姓名、性别、年龄等。 ②班级:班级号、班级名、人数等。 ③教师:教师号、姓名、性别、职称、 电话号码和家 庭地址(城市、区、街道、邮政编码)等。 ④课程:课程号、课程名、学分、周学时、课程类型 (周数)等。 ⑤专业:专业号、专业名、选修门数等。 ⑥系:系号、系名等。
课程号 课程名 总课时
课程
请按键 ★
教授联系的合并
教 学 管 理 子 系 统
教师 m
教授 n 课程
教师 m 教授 n 课程
时间 教室号
合 并 后
时间 评教等级
教师 m
教授 n 课程 评教等级 时间 教室号
请按键 ★
工Hale Waihona Puke 资 及 福 利 子 系 统
合并后生成的全局E-R模型
教师 号
姓 名
性 别
⑵ 消除冗余数据和冗余联系 检查合并后的E-R模型中有无冗余数 据和冗余联系,如有则根据实际情况消 除之。
⑶ 例
教学管理与工资及福利管理子系统中,教 师的职工号存在命名冲突;教师实体存在 结构冲突。
教师 号
姓 名 教师 m 时间
性 别
职 称 电话号 码
n
工作
1
系 系号 系名
教授 教室号 n 课程名 n 课程 m n 学分 m
第6章 创建和使用表-数据库原理与应用教程—SQL Server 2014-赵明渊-清华大学出版社

数据库原理与应用教程 ——SQL Server 2014
专业 通信 通信 通信 计算机 计算机 计算机
总学分 52 49 50 48 52 50
2
6.1.1 表和表结构
(1)表 表是数据库中存储数据的数据库对象,每个数据库包含 了若干个表,表由行和列组成。例如,表6.1由6行6列组成。 (2)表结构 每个表具有一定的结构,表结构包含一组固定的列,由 数据类型、长度、允许Null值等组成。 (3)记录 每个表包含若干行数据,表中一行称为一个记录(Record)。 表6.1有6个记录。
数据库原理与应用教程
——SQL Server 2014
5
•
6.1.2 数据类型
1. 整数型 整数包括bigint、int、smallint和tinyint 4类。 ● bigint(大整数) 精度为19位,长度为8字节,数值范围为-263~263-1。 ● int(整数) 精度10位,长度为4字节,数值范围为-231~231-1。 ● smallint(短整数) 精度为10位,长度为2字节,数值范围为-215~215–1。 ● tinyint(微短整数) 精度为3位,长度为1字节,数值范围为0~255。
符号标识 bigint , int , smallint , tinyint decimal , numeric float , real money , smallmoney bit char , varchar、varchar(MAX) nchar , nvarchar、nvarchar(MAX) text , ntext binary , varbinary、varbinary(MAX) datetime , smalldatetime, date, time, datetime2, datetimeoffset timestamp image cursor ,sql_variant , table , uniqueidentifier ,xml, hierarchyid
第6章 表的创建与管理

表的创建与管理
6.1.1 设计表的结构
基本要素:
1. 列(字段)的名称; 2. 列的数据类型; 3. 宽度;
另外: 是否允许为空; 是否有缺省值; 是否设置为标志列;
第6章
表的创建与管理
相关概念
1. NULL与NOT NULL
NULL 表示未知、不可用或以后添加数据。不同于 空字符或数字零,也不同于零长度字符串。
NULL:接受空值; NOT NULL:不接受空值; 消除空值很重要; 测试数据列中的空值,可在WHERE 子句中使用IS NULL 或 IS NOT NULL
第6章
表的创建与管理
相关概念
2. 缺省值(DEFAULT)
3. 计算列(CACULATED COLUMN) 4. 标识列(IDENTITY)
SQL Server 2000提供了两种方法创建数据库表,
第一种方法是利用企业管理器(Enterprise Manager)创建表;另一种方法是利用TransactSQL语句中的create命令创建表。
第6章
表的创建与管理
1. 利用Enterprise Manager创建表
在Enterprise Manager中,展开指定的服务器和数
第6章
表的创建与管理
例 6-2:修改一个雇员信息表
其T-SQL语句的程序清单如下:
CREATE TABLE employees ( id char(8) primary key, name char(20) not null, department char(20) null, memo char(30) null, age int null )
第6章
表的创建与 管理
数据库系统概论考试复习题

数据库系统概论复习资料:第一章:二、填空题1. 数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。
2. 数据库是长期存储在计算机内、有组织的、可共享的数据集合。
3.DBMS是指它是位于用户和③之间的一层管理软件。
4. 数据库管理系统的主要功能有数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立以与维护等4个方面。
5.数据独立性又可分为逻辑数据独立性和物理数据独立性。
6.6. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的物理独立性。
7. 数据模型是由数据结构、数据操作和完整性约束三部分组成的。
8. 数据结构是对数据系统的静态特性的描述,数据操作是对数据库系统的动态特性的描述。
9. 数据库体系结构按照模式、外模式和内模式三级结构进行组织。
10. 实体之间的联系可抽象为三类,它们是 1∶1 、 1∶m 和 m∶n 。
11.数据冗余可能导致的问题有浪费存储空间与修改麻烦和潜在的数据不一致性。
第2章关系数据库1、一个关系模式的定义格式为关系名。
2、.一个关系模式的定义主要包括关系名、属性名、属性类型、属性长度和关键字。
3、.关系代数运算中,传统的集合运算有笛卡尔积、并、交和差。
4、关系代数运算中,基本的运算是并、差、笛卡尔积、投影和选择。
5、5、关系代数运算中,专门的关系运算有选择、投影和连接。
6、关系数据库中基于数学上两类运算是关系代数和关系演算。
7、.已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是系编号,系关系的外关键字无②,学生关系的主关键字是学号,外关键字系编号第3章关系数据库标准语言SQL1、SQL是结构化查询语言。
2、视图是一个虚表,它是从一个或几个基本表中导出的表。
在数据库中,只存放视图的定义,不存放视图的视图对应的数据。
3、设有如下关系表R:R(No,NAME,SEX,AGE,CLASS)主关键字是NO其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。
第6章 管理数据库

第6章管理数据库在创建完成数据库之后,就可以对数据库进行管理操作,主要包括查看、修改和删除。
查看是指可以浏览数据库的各种属性和状态;修改是指可以修改数据库的名称、大小、自动增长等;删除数据库是对不需要的数据库进行删除,以释放多余的磁盘空间。
6.1 查看数据库信息Microsoft SQL Server 2008系统中,查看数据库信息有很多种方法,例如,可以使用目录视图、函数和存储过程等查看有关数据库的基本信息。
下面分别来介绍这几种查看数据库信息的基本方式。
1.使用目录视图常见的查看数据库基本信息的操作有:●使用sys.databases数据库和文件目录视图查看有关数据库的基本信息●使用sys.database_files查看有关数据库文件的信息●使用sys.filegroups查看有关数据库组的信息●使用sys.maste_files查看数据库文件的基本信息和状态信息2.使用函数可以使用DATABASEPROPERTYEX函数来查看指定数据库中的指定选项的信息,该函数一次只能返回一个选项的设置。
例如,要查看【图书管理系统(BookDateBase)】数据代码的执行结果如图6-1所示:图6-1查看数据库选项设置3.使用存储过程使用sp_spaceused存储过程可以显示数据库使用和保留的空间。
下面来查看【图书管理系统(BookDateBase)】数据库的空间大小和已经使用的空间等信息。
如图6-2所示。
图6-2使用sp_spaceused存储过程可以查看所有数据库的基本信息,仍然来查看【图书管理系统(BookDateBase)】数据库的信息,如图6-3所示。
图6-3使用sp_helpdb存储过程除上面介绍的几种方法外,还可以利用Microsoft SQL Server Management Studio窗口来查看数据库信息。
在【对象资源管理器】窗格中右击要查看信息的数据库,选择【属性】命令,在弹出的【数据库属性】对话框中就可以查看到数据库的常规信息、文件信息、文件组信息、选项信息等,如图6-4所示。
数据库实训教程习题答案

15 B
16 B
17 C
18 B
19 C
20 D
第4章 1
B
1
2
C
2
3
A
3
4
B
4
5
D
5
6
A
6
7
A
7
8
C
8
9
C
9
10 A
10
11 C
11
12 B
12
13 C
13
14 D
15 C
16 D
17 D 18 C 19 A 20 A 21 B
第5章 1
A
1
2
B
2
3
C
3
4
D
4
5
A
5
6
C
6
7
C
7
8
D
8
9
B
9
10 C
事件 插入,修改,删除
触发器只有在触发SQL语句中指定的所有操作都已成 功执行后才激发,z执行触发器而不是执行触发SQL语 句,从而替代触发语句的操作
混合 grant,deny,revoke create database,create proc,create table,create view select,insert,update sysadmin,serveradmin,diskadmin db_owner,db_securityadmin
19
20 B
20
第7章 1
C
1
2
C
2
3
C
3
4
D
4
5
A
5
6
数据库第6章习题参考答案

第6章习题解答1.选择题(1)(C)允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。
A.存储过程B.视图C.触发器D.索引(2)SQL Server为每个触发器创建了两个临时表,它们是( B )。
A.Updated和Deleted B.Inserted和DeletedC.Inserted和Updated D.Seleted和Inserted(3)SQL Server中存储过程由一组预先定义并被(C)的Transact-SQL语句组成。
A.编写B.解释C.编译D.保存(4)下列可以查看表的行数以及表使用的存储空间信息的系统存储过程是( A )。
A.sq_spaceused B.sq_depends C.sq_help D.sq_rename (5)以下语句创建的触发器ABC是当对表T进行__D_____操作时触发。
CREATE TRIGGER ABC ON 表T FOR INSERT, UPDATE, DELETEAS……A.只是修改B.只是插入C.只是删除D.修改、插入、删除(6)以下_______不是存储过程的优点。
A.实现模块化编程,能被多个用户共享和重用B.可以加快程序的运行速度C.可以增加网络的流量D.可以提高数据库的安全性(7)以下_______操作不是触发触发器的操作。
A.SELECT B.INSERT C.DELETE D.UPDATE (8)下面关于触发器的描述,错误的是_______。
A.触发器是一种特殊的存储过程,用户可以直接调用B.触发器表和deleted表没有共同记录C.触发器可以用来定义比CHECK约束更复杂的规则D.删除触发器可以使用DROP TRIGGER命令,也可以使用企业管理器(9)关于SQL Server中的存储过程,下列说法中正确的是_______。
A.不能有输入参数B.没有返回值C.可以自动被执行D.可以嵌套使用(10)对于下面的存储过程:CREATE PROCEDURE Mysp1 @p IntASSELECT St_name, Age FROM Students WHERE Age=@p调用这个存储过程查询年龄为20岁的学生的正确方法是_______。
第6章 数据表的管理和关系完整性

总体概要:数据表的结构包括:属性名、属性的数据类型、约束关系完整性(实体完整性、参照完整性、用户自定义完整性)数据的基本增删改操作(insert into、delete、update)SQL包括DDL、DML和DCL三种语言:DDL (数据定义语言),用于对数据库对象的创建(Create)、修改(Alter)、删除(Drop )DML(数据操纵语言),用于增删改和查询数据(Insert , Delete, Update, Select )DCL(数据控制语言),用于安全管理(grant ,deny ,revoke )创建、修改、删除数据表的SQL语句都属于DDL.1.以下不属于SQL Server 表字段数据类型的是( A )A.布尔类型B.货币型C.日期时间型D.数值型2.参照完整性的作用是( D )控制A.相关表之间的数据一致性B.表中数据的完整性C.字段数据的输入D.记录中相关字段之间的数据有效性3.SQL Server的字符型系统数据类型主要包括( C )A.datetime、binary、IntB.Int、money、charC.char、varchar、textD.char、varchar、Int4.以下不属于数据完整性的是( D )A.参照完整性B.用户自定义完整性C.实体完整性D.存储完整性5.以下关于数据完整性描述不正确的是( B )A.数据完整性是为了保证外界输入数据的有效性和正确性B.参照完整性用于用来保证数据的有效性,它可以限制录入的数据与数据类型是否一致C.实体完整性用于保证关系数据库表中的每条记录都是唯一的D.域完整性用来保证数据的有效性,它可以限制录入的数据与数据类型是否一致6.表中某一字段设为主键后,则该字段值( D )A.可为空B.必须是有序的C.可取值相同D.不能取值相同7.在SQL语言中PRIMARY KEY的作用是( B )A.定义外部码的参照表B.定义主键C.定义外部码D.确定主键类型8.在SQL语言中FOREIGN KEY的作用是( C )A.定义主键B.定义唯一约束C.定义外键D.确定主键类型9.检查约束的作用是( D )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL Server 2005—第六章 管理数据库和表
第 11页
6.1.4 修改数据库
使用SQL Server Management Studio修改属性 使用Transact-SQL语句修改属性
ALTER DATABASE database_name { ADD FILE < filespec > ] [ TO FILEGROUP filegroup_name] | ADD LOG FILE < filespec> ] | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE <filespec> | MODIFY NAME = new_dbname | MODIFY FILEGROUP filegroup_name { filegroup_property | NAME=new_filegroup_name} }
SQL Server 2005—第六章 管理数据库和表
第 16页
6.2.1 创建表
参数含义
table_name:表的名称,最多128个字条; database_name:创建的表所属的数据库名称,缺少表示当前数 据库; schema_name:新表所属的模式名称; column_name1:所定义的列的名称; data_type:该列的数据类型; DEFAULT constant_expression:该列的默认值(由常量表达式确 定); IDENTITY:定义该列是一个标识列。SEED指定标识列的起始值; INCREMENT指定标识列的增量。 NULL | NOT NULL:指定该列是否允许为空,默认NULL; ON filegroup | DEFAULT:指定在哪个文件组上创建表。
SQL Server 2005—第六章 管理数据库和表 第 6页
6.1.2 创建数据库
使用SQL Server Management Studio创建 使用Transact-SQL语句创建
CREATE DATABASE database_name [ ON [ PRIMARY ] [ < filespec > ] ][,<Filegroup>[,…n]] [ LOG ON [ < filespec> ] ] database_name:数据库名称; ON:指明主要数据文件、次要数据文件和文件组的明确定义; PRIMARY:指明主文件组中的主要数据文件,缺省则表示第一 个数据文件为主要数据文件; Filegroup:指明所属文件组,缺省表示主文件组; LOG ON:指明事务日志文件的明确定义; SQL Server 2005—第六章 管理数据库和表 第 7页
SQL Server 2005—第六章 管理数据库和表
第 8页
6.1.2 创建数据库
< filespec> 定义数据库文件信息
NAME = logical_file_name:指定数据文件或日志文件的 逻辑文件名; FILENAME = ‘os_ SIZE = size:指定文件的初始大小,单位为MB; MAXSIZE = {max_size | UNLIMTED }:指定文件可以增长 到的最大容量,如省略或选UNLIMTED,则可以不断 增加; FILEGROWTH = growth_increment:指定文件的增长幅度, 可以用容量表示,也可以用百分比表示。默认10%增 长。
SQL Server 2005—第六章 管理数据库和表 第 9页
6.1.2 创建数据库
例1:创建Student数据库
CREATE DATABASE Student ON ( NAME=student_data, FILENAME=‘d:\student_cata.mdf ’, SIZE = 4MB, MAXSIZE = unlimited, FILEGROWTH = 1MB), ( NAME = student_data2, FILENAME = ‘d:\student_data2.ndf ’ ) LOG ON ( NAME = student_log, FILENAME = ‘d:\student_log.ldf’, Size = 2MB, FILEGROWTH = 10%)
6.1.2 创建数据库
使用Transact-SQL语句创建
< filespec >:: = ( [ NAME = logical_file_name, ] FILENAME = ‘os_file_name’ [ , SIZE = size ] [ , MAXSIZE = {max_size | UNLIMTED } ] [ , FILEGROWTH = growth_increment ] ) [,…n]
SQL Server 2005—第六章 管理数据库和表
第 18页
6.2.1 创建表
例2
CREATE TABLE student..studentinfo ( StudentNO char(9) NOT NULL, StudentName varchar(20) NOT NULL, Sex char(1) NULL, Birthday datetime NULL, IDCardNo char(18))
SQL Server 2005—第六章 管理数据库和表 第 15页
6.2.1 创建表
使用SQL Server Management Studio创建表 使用Transact-SQL语句创建表
CREATE TABLE [database_name. [schema_name].] table_name ( column_name1 data_type [ DEFAULT constant_expression ] [ IDENTITY (SEED, INCREMENT) ] [ NULL| NOT NULL] [,…n] ) [ ON {filegroup | DEFAULT} ]
主要数据文件( .mdf ):存储系统表和对象。 次要数据文件( .ndf ):存储用户数据和对象。 事务日志文件( .ldf ):记录数据库的修改和产生这 些修改的事务。
SQL Server 2005—第六章 管理数据库和表 第 2页
6.1.1 数据库基本概念
数据库文件组
数据文件的集合,便于进行管理和数据分配 一个数据文件不能存在于两个或两个以上的 文件组里,日志文件不属于任何文件组; 文件和文件组不可被一个以上的数据库使用
SQL Server 2005—第六章 管理数据库和表
第 5页
SQL Server系统数据库
master:总控数据库。记录所有的配置信息,系统根据 master的信息管理系统和其他数据库。 model:模板数据库。为用户建立新数据库提供模板和原 型,系统自动把model数据库的内容复制到新建用户数据 库中。 msdb:存储任务计划、异常处理、警告管理和SQL 执行 服务需要的系统操作符信息。 tempdb:临时数据库。保存临时表、临时数据以及临时 创建的存储过程。 resource:资源数据库。包含SQL Server2005所有的系统对 象,是一个只读和隐藏的数据库。
SQL Server 2005—第六章 管理数据库和表
第 12页
6.1.4 修改数据库
使用Transact-SQL语句修改属性
ADD FILE:向指定的文件组添加新的数据文件; ADD LOG FILE:添加新的事务日志文件; REMOVE FILE:删除某一文件; ADD FILEGROUP:添加一个文件组; REMOVE FILEGROUP:删除某一文件组; MODIFY FILE <filespec>:修改某个文件的属性; MODIFY NAME:修改数据库的名字; MODIFY FILEGROUP:修改某一文件组的属性
SQL Server 2005—第六章 管理数据库和表
第 17页
6.2.1 创建表
例2:在student数据库中建立学生信息表 studentinfo,结构如下:
字段名称 StudentNo StudentName Sex Birthday IDCardNo 数据类型 char varchar char datetime char 18 长度 9 10 1 是否NULL 否 否 是 是 是 特殊属性
SQL Server 2005—第六章 管理数据库和表
第 4页
6.1.1 数据库基本概念
SQL Server 2005数据库分类
系统数据库:存储有关SQL Server的信息。包 括master、model、msdb、tempdb和resource数据 库。 示例数据库:为了让用户学习和理解而设计 的。AdventureWorks是一个相当完整的示例, AdventureWorks DW用于分析服务。 用户数据库:用户创建的数据库。
第6章 管理数据库和表
管理数据库
数据库基本概念 建立数据库 修改数据库
管理表
创建表 修改表 删除表
实施数据完整性
SQL Server 2005—第六章 管理数据库和表 第 1页
6.1.1 数据库基本概念
逻辑结构:
数据库是表和对象的集合,诸如:表、视图、 索引、存储过程和触发器等。
物理结构:
可以在操作系统下看到的文件
SQL Server 2005—第六章 管理数据库和表
第 21页
6.2.2 创立分区表
当表包含大量数据,或者数据是分段的且大量数 据操作只涉及一部分数据时,可以创建分区表。 将表分区并且在不同的位置存储表的不同部分; 但逻辑上还是一个大表。 有助于管理数据和提高查询的性能。 创立分区表的步骤
SQL Server 2005—第六章 管理数据库和表