数据库技术与应用.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

2011/11,12 南台資管 吳昭儀. 1. 使用者介面 (User Interface)  使用者操作畫面的安排  Textbox, ComboBox, ListBox, CheckList, … 2. 流程控制 (Process Control)  使用者輸入資料檢查  計算  資料輸出.
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
SQL 入门 SQL:Structured query language 北京传智播客教育.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
第四章 数据库管理和使用.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术及应用 ——SQL Server 任课教师: 毕丛娣 电话: 年3月.
第3章 SQL语言初步 2017/3/14.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
資料庫 (Database) SQL Server 2008實作
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第五讲 利用视图进行查询优化.
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
Chap 10 SQL定義、操作與控制指令.
胡鹏 王慧锋 TEL: 数据库系统原理课程设计 实验环节1 胡鹏 王慧锋 TEL:
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第 16 章 觸發程序.
課程名稱:資料庫系統 授課老師:李春雄 博士
第7章 ADO.NET操作SQL Server数据库
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
建立/修改/刪除資料表 建立資料表 使用Enterprise Manager工具
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
第9章 SQL Server的数据库保护技术 教学目标:通过本章学习,了解SQL Server的安全体系结构的含义和安全认证模式的分类;掌握SQL Server登录账号、用户账号及角色的创建方法;熟悉权限的分类,掌握对象权限和语句权限的管理方法;明确SQL Server中数据完整性的种类,掌握数据完整性实现的具体方法;熟悉SQL.
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
作业3-点评.
Ch4.SQL Server 2005資料庫組成員元件介紹
实验二讲评 … 张榆….
数据库技术.
数据库技术.
数据库应用技术 SQL Server 2005.
第20章 MySQL数据库.
ORACLE 第九讲 触发器.
第3章 关系数据库的创建与维护 Microsoft SQL Server2008 概述 SQL Server数据库基础 数据库的创建与维护
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
国家“十一五”规划教材 数据库原理与应用教程(第3版).
第 6 章 建立資料庫.
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
SQL查询语句 蔡海洋.
用int类型(4字节)去存具体时间(8字节).
第三章 SQL Server数据管理.
讲课人:王璞 浙江工商职业技术学院.
第 7 章 建立資料表與資料庫圖表.
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
第9章 视 图 教学提示:用户在查询数据库中的数据时,除了直接查看数据库中的表中的数据以外,还可以通过视图来查看表中的数据,也就是说,视图为用户提供了另外一种查看表中的数据的方式。 视图是一种虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自于定义视图的查询所引用的表,并且在引用视图时动态生成。
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
Presentation transcript:

数据库技术与应用

数据表的创建和管理 表数据的管理 数据库完整性管理 管理数据表的方法、数据库完整性管理 第3章 数据表的管理与维护 数据表的创建和管理 表数据的管理 数据库完整性管理 管理数据表的方法、数据库完整性管理

? 问题提出 数据表与数据库是什么关系? 数据表与表数据的区别? 为什么要进行数据库完整性设置? 数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。根据信息的分类情况,一个数据库中可能包含若干个数据表。 数据表与表数据的区别? 为什么要进行数据库完整性设置?

3.1 数据表的创建和管理 3.1.1 使用对象资源管理器创建数据表 3.1.2 使用T-SQL语言创建数据表 3.1.3 使用对象资源管理器对数据表进行管理 3.1.4 使用T-SQL语言对数据表进行管理

3.1 数据表的创建和管理 一个数据库可以拥有许多表,每个表都代表一个特定的实体。 例如,学生数据库可能包含学生个人信息、院系信息、课程信息、成绩信息等多个表。每个实体使用一个单独的表可以消除重复数据,使数据存储更有效并减少数据输入项错误。 SQL Server 2008中数据库的主要对象是数据表,创建好数据库后,就可以向数据库中添加数据表。 数据表由行和列组成,行有时也称为记录,列有时也称为字段或域。

3.1.1使用对象资源管理器创建数据表 在SQL Serve中,一个汉字占据两个字符的位置,因此计算一个字段长度时,一个汉字的长度是2Byte。

表约束,可选的关键字PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY 或 CHECK 3.1.2 使用T-SQL语言创建数据表 语法格式: CREATE TABLE [database_name.[owner.]|owner.] table_name ( {<column_definition> | column_name AS computed_column_expression | <table_constraint>∷=[CONSTRAINT constraint_name] } | [{PRIMARY KEY | UNIQUE}] ) [ON { filegroup | DEFAULT}] [TEXTIMAGE_ON{ filegroup | DEFAULT } ] <column_definition>∷={column_name data_type} [COLLATE<collation_name>] [DEFAULT constant_expression] 数据库拥有者 表名最多可包含 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) )

3.1.2 使用T-SQL语言创建数据表 例3.2:在数据库Student中创建STD_1学生信息表,要求包含S_NO(学号)、NAME(姓名)、AGE(年龄)信息,并限制年龄在15~25周岁之间,学号不能为空,指定学号为主关键字。 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) )

3.1.2 使用T-SQL语言创建数据表 例3.3:创建临时表temp_student 。 语句如下: CREATE TABLE #temp_student ( 学号 SMALLINT NOT NULL , 姓名 VARCHAR(30) NOT NULL, 年龄 INT NOT NULL, PRIMARY KEY (学号) ) 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除。 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除。 除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去: 临时表,是建立在系统临时文件夹中的表,当工作在十分大的表上运行时,在实际操作中你可能会需要运行很多的相关查询,来获的一个大量数据的小的子集,不是对整个表运行这些查询。而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后对这些表运行查询。

3.1.3 使用对象资源管理器对数据表进行管理 使用对象资源管理器更改数据表名称

3.1.3 使用对象资源管理器对数据表进行管理 使用对象资源管理器删除数据表 勾选要删除的表对象

3.1.3 使用对象资源管理器对数据表进行管理 使用对象资源管理器修改数据表结构

Precision用于指定数据类型的精度;scale用于指定数据类型的小数位数。 3.1.4 使用T-SQL语言对数据表进行管理 修改数据表 语法格式: ALTER TABLE table { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ] [ COLLATE < collation_name > ] [ NULL | NOT NULL ]| {ADD | DROP } ROWGUIDCOL }] | ADD { [ < colum n_definition > ] | column_name AS computed_column_expression } [ ,...n ] | [ WITH CHECK | WITH NOCHECK ] ADD { < table_constraint > } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] | { CHECK | NOCHECK } CONSTRAINT{ ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,...n ] } } 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)

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

3.2 表数据的管理 3.2.1 使用对象资源管理器管理表数据 3.2.2 使用T-SQL语言管理表数据

3.2 表数据的管理 表数据的管理主要是指 操作方法 对表进行添加或插入新数据 更改或更新现有数据 删除现有数据 3.2 表数据的管理 表数据的管理主要是指 对表进行添加或插入新数据 更改或更新现有数据 删除现有数据 检索(或查询)现有数据的操作 操作方法 使用对象资源管理器 T-SQL语句

3.2.1 使用对象资源管理器管理表数据 在表设计器中管理数据

3.2.1 使用对象资源管理器管理表数据 在数据库关系图中管理数据

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 )

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 { < table_source > } [ ,...n ] ]

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'

3.2.2 使用T-SQL语言管理表数据 表数据的删除(删除表中的所有记录) DELETE语句 DELETE [ FROM ] { table_name | view_name } [ FROM { < table_source > } [ ,...n ] ] TRUNCATE TABLE语句 TRUNCATE TABLE [ { database_name.[ schema_name ]. | schema_name . } ] table_name [ ; ] TRUNCATE英 [trʌŋˈkeɪt] ,DELETE,DROP放在一起比较: TRUNCATE TABLE:删除内容、释放空间但不删除定义。 DELETE TABLE:删除内容不删除定义,不释放空间。 DROP TABLE:删除内容和定义,释放空间。

3.2.2 使用T-SQL语言管理表数据 SQL中删除语句的区别 注意: DELETE TABLE: 删除表记录内容不删除表结构,不释放空间。 TRUNCATE TABLE: 删除表记录内容、释放空间但不删除表结构。 DROP TABLE: 删除表(表记录、表的结构、属性、索引也会删除)。 注意: TRUNCATE和不带WHERE子句的DELETE语句以及DROP都能删除表内数据; TRUNCATE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。

3.3 数据库完整性管理 3.3.1 数据库完整性概述 3.3.2 数据库完整性的类型 3.3.3 使用对象资源管理器实现数据库完整性设置

3.3.1 数据库完整性概述 数据库完整性是指数据库中数据的正确性、有效性和一致性。 (1)正确性 指数据的合法性,如数值型数据只能包含数字,不能包含字母。 (2)有效性 指数据是否处在定义域的有效范围之内。 (3)一致性 指同一事实的两个数据应该一致,不一致即是不相容的。

3.3.2 数据库完整性的类型 数据库完整性有4种类型 实体完整性 一般用标识列、主键约束、唯一约束、唯一索引实现。 域完整性(或列完整性) 域完整性是指给定列的输入有效性。通过规则、默认、约束和触发器等数据库对象实现。 如 年龄0~150,一般用check等实现。 引用完整性 一般用外码实现。 用户定义完整性 针对某个特定关系数据库的约束条件。

3.3.3 使用对象资源管理器实现数据完整性的设置 主键约束操作

3.3.3 使用对象资源管理器实现数据完整性的设置 主键约束操作 输入新记录后(学号不在St_Info表),单击其他任意一条记录,此时系统提示出错 31

3.3.3 使用对象资源管理器实现数据完整性的设置 CHECK约束操作 在打开的“表设计器”中指向C_Credit字段并右键单击,单击“CHECK约束”命令,打开“CHECK约束”对话框。

3.3.3 使用对象资源管理器实现数据完整性的设置 默认值约束操作

本章小结 (1)数据表的创建和管理 (2)表数据的管理 (3)数据库完整性管理 主要工具是对象资源管理器及T-SQL语言。 主要 指对表进行添加或插入数据、更改或更新现有数据、删除现有数据、检索现有数据。 (3)数据库完整性管理 包括实体完整性、域完整性、参照完整性和用户自定义完整性。 数据库完整性问题的解决主要通过设置主键、各种约束、默认值和规则等数据库对象来保证。