




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库技术与应用,第3章 数据表的管理与维护,数据表的创建和管理 表数据的管理 数据库完整性管理 管理数据表的方法、数据库完整性管理,2,问题提出,数据表与数据库是什么关系? 数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。根据信息的分类情况,一个数据库中可能包含若干个数据表。 数据表与表数据的区别? 为什么要进行数据库完整性设置?,3,?,3.1 数据表的创建和管理,3.1.1 使用对象资源管理器创建数据表 3.1.2 使用T-SQL语言创建数据表 3.1.3 使用对象资源管理器对数据表进行管理 3.1.4 使用T-SQL语言对数据表进行管理,4,3.1 数据表的创建和管理,一个数据库可以拥有许多表,每个表都代表一个特定的实体。 例如,学生数据库可能包含学生个人信息、院系信息、课程信息、成绩信息等多个表。每个实体使用一个单独的表可以消除重复数据,使数据存储更有效并减少数据输入项错误。 SQL Server 2008中数据库的主要对象是数据表,创建好数据库后,就可以向数据库中添加数据表。 数据表由行和列组成,行有时也称为记录,列有时也称为字段或域。,5,3.1.1使用对象资源管理器创建数据表,6,在SQL Serve中,一个汉字占据两个字符的位置,因此计算一个字段长度时,一个汉字的长度是Byte。,3.1.2 使用T-SQL语言创建数据表,语法格式: CREATE TABLE database_name.owner.|owner. table_name ( | column_name AS computed_column_expression | =CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE ) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT =column_name data_type COLLATE DEFAULT constant_expression,7,表名最多可包含 128 个字符,表约束,可选的关键字PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY 或 CHECK,定义计算列的值的表达式,数据库拥有者,3.1.2 使用T-SQL语言创建数据表,例3.1:在数据库Student中创建Student学生信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年龄)、SEX(性别)信息。 Use Student Go CREATE TABLE STD ( S_NO CHAR(7) , NAME CHAR(10), AGE SMALLINT, SEX CHAR(1) ),8,3.1.2 使用T-SQL语言创建数据表,例3.2:在数据库Student中创建STD_1学生信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年龄)信息,并限制年龄在1525周岁之间,学号不能为空,指定学号为主关键字。 CREATE TABLE STD_1 ( S_NO CHAR(7) NOT NULL, NAME CHAR(10), AGE SMALLINT, PRIMARY KEY(S_NO), CHECK(AGE BETWEEN 15 AND 25) ),9,3.1.2 使用T-SQL语言创建数据表,例3.3:创建临时表temp_student 。 语句如下: /*用#说明temp_student为本地临时表*/ CREATE TABLE #temp_student ( 学号 SMALLINT NOT NULL , 姓名 VARCHAR(30) NOT NULL, 年龄 INT NOT NULL, PRIMARY KEY (学号) ) 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除。,10,3.1.3 使用对象资源管理器对数据表进行管理,使用对象资源管理器更改数据表名称,11,3.1.3 使用对象资源管理器对数据表进行管理,使用对象资源管理器删除数据表,12,勾选要删除的表对象,3.1.3 使用对象资源管理器对数据表进行管理,使用对象资源管理器修改数据表结构,13,3.1.4 使用T-SQL语言对数据表进行管理,修改数据表 语法格式: ALTER TABLE table ALTER COLUMN column_name new_data_type ( precision , scale ) COLLATE NULL | NOT NULL | ADD | DROP ROWGUIDCOL | ADD | column_name AS computed_column_expression ,.n | WITH CHECK | WITH NOCHECK ADD ,.n | DROP CONSTRAINT constraint_name | COLUMN column ,.n | CHECK | NOCHECK CONSTRAINT ALL | constraint_name ,.n | ENABLE | DISABLE TRIGGER ALL | trigger_name ,.n ,14,Precision用于指定数据类型的精度;scale用于指定数据类型的小数位数。,3.1.4 使用T-SQL语言对数据表进行管理,例3.4在例3.1的STD学生信息表中增加zzmm(政治面貌)字段 增加该字段的语句: ALTER TABLE Student ADD zzmm char(4) 例3.5:将例3.4中增加的字段zzmm的宽度由4修改为8。 修改该字段的语句: ALTER TABLE Student Alter column zzmm char(8),15,3.1.4 使用T-SQL语言对数据表进行管理,删除数据表 语法格式: DROP TABLE table_name 注意: (1)DROP TABLE 不能用于删除由 FOREIGN KEY 约束引用的表,必须先删除引用的 FOREIGN KEY 约束或引用的表。 (2)在系统表上不能使用 DROP TABLE 语句。 例3.9:删除当前数据库中的STD_1学生信息表。 Drop TABLE STD_1 例3.10:在同一个语句中指定多个表对它们进行删除。假设有一个stu数据库,此数据库中存在book表和temp2表。 DROP TABLE book, temp2,16,3.2 表数据的管理,3.2.1 使用对象资源管理器管理表数据 3.2.2 使用T-SQL语言管理表数据,17,3.2 表数据的管理,表数据的管理主要是指 对表进行添加或插入新数据 更改或更新现有数据 删除现有数据 检索(或查询)现有数据的操作 操作方法 使用对象资源管理器 T-SQL语句,18,3.2.1 使用对象资源管理器管理表数据,在表设计器中管理数据,19,3.2.1 使用对象资源管理器管理表数据,在数据库关系图中管理数据,20,3.2.2 使用T-SQL语言管理表数据,表数据的添加 语法格式: INSERT INTO table_or_view (column_list) data_values 例3.6:将新课程记录(9720044,网络技术与应用,选修,3)添加到课程信息数据表C_Info中。 语句如下: INSERT INTO C_Info VALUES (9720044, 网络技术与应用, 选修, 3, Null ),21,3.2.2 使用T-SQL语言管理表数据,表数据的添加 例3.7在已经创建的数据库Student中的学院信息表D_Info。试将学院记录(16,商学院)、(17,文学院)、(20,法学院)添加到学院数据表D_Info中。 语句如下: INSERT INTO D_Info VALUES (16,商学院), (17,文学院), (20,法学院),22,3.2.2 使用T-SQL语言管理表数据,表数据的修改 语法格式: UPDATE table_name | view_name SET column_name = expression | DEFAULT | NULL | variable = expression | variable = column = expression ,.n FROM ,.n ,23,3.2.2 使用T-SQL语言管理表数据,例3.8:将数据表C_Info中的所有学分加1。 无条件修改数据,使用语句: UPDATE C_Info SET C_Credit=C_Credit+1 例3.9:将数据表C_Info中课程号为“9710011”的学分减1。 有条件修改数据,使用语句: UPDATE C_Info SET C_Credit=C_Credit-1 WHERE C_NO =9710011,24,3.2.2 使用T-SQL语言管理表数据,表数据的删除(删除表中的所有记录) DELETE语句 DELETE FROM table_name | view_name FROM ,.n TRUNCATE TABLE语句 TRUNCATE TABLE database_name. schema_name . | schema_name . table_name ; ,25,3.2.2 使用T-SQL语言管理表数据,SQL中删除语句的区别 DELETE TABLE: 删除表记录内容不删除表结构,不释放空间。 TRUNCATE TABLE: 删除表记录内容、释放空间但不删除表结构。 DROP TABLE: 删除表(表记录、表的结构、属性、索引也会删除)。 注意: TRUNCATE和不带WHERE子句的DELETE语句以及DROP都能删除表内数据; TRUNCATE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。,26,3.3 数据库完整性管理,3.3.1 数据库完整性概述 3.3.2 数据库完整性的类型 3.3.3 使用对象资源管理器实现数据库完整性设置,27,3.3.1 数据库完整性概述,数据库完整性是指数据库中数据的正确性、有效性和一致性。 (1)正确性 指数据的合法性,如数值型数据只能包含数字,不能包含字母。 (2)有效性 指数据是否处在定义域的有效范围之内。 (3)一致性 指同一事实的两个数据应该一致,不一致即是不相容的。,28,3.3.2 数据库完整性的类型,数据库完整性有4种类型 实体完整性 一般用标识列、主键约束、唯一约束、唯一索引实现。 域完整性(或列完整性) 域完整性是指给定列的输入有效性。通过规则、默认、约束和触发器等数据库对象实现。 如 年龄0150,一般用check等实现。 引用完整性 一般用外码实现。 用户定义完整性 针对某个特定关系数据库的约束条件。,29,3.3.3 使用对象资源管理器实现数据完整性的设置,主键约束操作,30,3.3.3 使用对象资源管理器实现数据完整性的设置,主键约束操作 输入新记录后(学号不在St_Info表),单击其他任意一条记录,此时系统提示出错,31,3.3.3 使用对象资源管理器实现数据完整性的设置,CHECK约束操作 在打开的“表设计器”中指向C_Credit字段并右键单击
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机构安全协议书范本
- 劳动代理协议书范围
- 劝退退租协议书范本
- 校园欺凌协议书范文
- 机电维修回收协议书
- 艺术培训家长协议书
- 提前休养待岗协议书
- 骑车风险自负协议书
- 资产买卖居间协议书
- 县城店面转租协议书
- 4-6岁幼儿同伴交往能力量表
- 人教版 数学一年级下册 第三单元 100以内数的认识综合素养评价(含答案)
- 无锡诺宇医药科技有限公司放射性药物开发及核药装备研制项目报告表
- 2025年中考道德与法治仿真模拟测试卷(含答案)
- 2025年河南艺术职业学院单招职业技能测试题库及参考答案
- 2024辽宁能源集团所属能源投资集团招聘3人笔试参考题库附带答案详解
- 2025年度马铃薯种薯产业扶贫与乡村振兴合作合同4篇
- 《退役锂电池清洁循环利用技术规范》编制说明
- 交通法律法规知识培训
- 夜间安全施工培训
- 零售药店医疗保障定点管理暂行办法
评论
0/150
提交评论