第十章 数据库表.

Slides:



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

Chapter 3: SQL.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
1. SQL概述 2。DDL 3。DML DCL(第四部分安全性讲) 4。嵌入式使用 5。PL/SQL
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
第3章 SQL语言初步 2017/3/14.
An Introduction to Database System
(第11讲) Mysql 简介和创建新的数据库 本讲大纲: 1、MYSQL简介与概要 2、访问MYSQL的几种途径
第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. 计算机网络.
计算机应用基础 上海大学计算中心.
Oracle数据库 Oracle 子程序.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
An Introduction to Database System An Introduction to Database System
第11章 详细设计.
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
第十一章 資料庫設計與權限設定.
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
Chap 10 SQL定義、操作與控制指令.
An Introduction to Database System An Introduction to Database System
第 7 章 建立資料表與 資料庫圖表.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第7章 ADO.NET操作SQL Server数据库
建立/修改/刪除資料表 建立資料表 使用Enterprise Manager工具
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
管理信息结构SMI.
SQL SERVER 一些经典语句 1.
数据库基础 1.
作业3-点评.
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Ch4.SQL Server 2005資料庫組成員元件介紹
实验二讲评 … 张榆….
第5章 表的创建与管理及其索引 本章导读: 在SQL Server环境中,表是存储数据和操作数据的逻辑结构,是数据库中存储的基本对象,对数据库的操作大多数依赖于某个或某些特定的表进行的,因而对数据库的管理和操作,实质是对表的管理和操作。 知识要点: 数据表概述 数据类型 创建表 修改表 删除表 数据操作.
数据库技术与应用.
MySQL开发规范 DB组-张浩.
第3章 关系数据库的创建与维护 Microsoft SQL Server2008 概述 SQL Server数据库基础 数据库的创建与维护
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
用int类型(4字节)去存具体时间(8字节).
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
讲课人:王璞 浙江工商职业技术学院.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
ES 索引入门
第 7 章 建立資料表與資料庫圖表.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 表的创建与维护 4.1 数据类型 4.2 数据完整性约束 4.3 创建数据表 4.4 修改数据表 4.5 删除数据表.
第4章 Excel电子表格制作软件 4.4 函数(一).
第5章 表的操作与管理.
第九节 赋值运算符和赋值表达式.
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
Visual Basic程序设计 第13章 访问数据库
第8章 索 引(Index) 8.1 索引概述 8.2 创建索引 8.3 修改和删除索引.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第六讲 SQL语言之数据定义 第三讲 SQL Server 2000 数据库技术.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
学习目标 1、使用Mysql Workbench修改表
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第十章 数据库表

数据库表 10.1 创建数据库表 10.2 修改数据库表 10.3 使用约束 10.4 建立索引 10.5 删除数据库表

10.1 创建数据库表 数据库表的形式

创建数据库表的指令格式 CREATE TABLE 表名 例: (列名1 数据类型 { identity |NOT NULL| NULL }, … ) 例: Create table demotable (user_id numeric(10,0) identity, Name varchar(30) not NULL, Comments varchar(100) null)

10.1.1 表名 表名是惟一的 可以使用中文,也可以使用西文符号 最多64个字符 建立临时表 临时表的表名必须以#打头 10.1.1 表名 表名是惟一的 可以使用中文,也可以使用西文符号 最多64个字符 建立临时表 临时表的表名必须以#打头 仍然使用CREATE TABLE命令 例:Create table #demotable (user_id numeric(10,0) identity, Name varchar(30) not NULL)

10.1.2 列名 表中的每一列也称为字段,所以列名也叫字段名 字段名的命名方式基本同数据表名的命名 10.1.2 列名 表中的每一列也称为字段,所以列名也叫字段名 字段名的命名方式基本同数据表名的命名 字段名在数据表中要求是惟一的,但在整个数据库中可以重名

NULL:可以无值,默认值 NOT NULL:必须输入值 identity:计数器 每个表只能有一个identity列 不允许为空 使用整型或精确数型,受数据类型取值限制 用户不能修改identity的值

例10-1 确定期刊采编系统数据库中各数据表的表名 关系模式名 数据库表名 部门 mag_dept 人员 mag_emp 期刊 mag_info 稿件 mag_doc

10.1.3 数据类型 T-SQL中支持的、常用的数据类型 字符型 日期时间类型 数值类型 二进制型 位型 文本型 图像型 时间戳型

字符型 字符型变量应定义长度 允许定义的最大长度是255 有两种 输入字符型数据时必须用单引号将数据括起来 固定长度的char( )类型 可变长度的varchar( )类型 输入字符型数据时必须用单引号将数据括起来

日期时间类型 datetime和smalldatetime是用来存储日期和时间数据 比较内容 Datetime Smalldatetime 最小值 Jan 1,1753 Jan 1,1900 最大值 Dec 31,9999 Jun 6,2079 占用存储空间 8byte 4byte 精度 3.33毫秒 1分钟

整数类型 整数类型的比较 比较内容 Int Smallint Tinyint 最小值 -231 -215 最大值 231-1 215-1 最大值 231-1 215-1 255 占用存储空间 4byte 2byte 1byte

浮点数类型 比较内容 Float Real 最小值 -1.79E+308 -3.40E+38 最大值 1.79E+308 3.40E+38 占用存储空间 8Byte 4Byte 精度 最多15位 最多7位

精确数类型 精确数类型有两种形式 Decimal Numeric 与浮点类型数据的区别 可以自定义精度的位数 例 num_col(5,2)

货币型 货币类型的比较 比较内容 Money Smallmoney 最小值 -214,748.3648 最大值 214,748.3647 -922,337,203,685,477.5808 -214,748.3648 最大值 922,337,203,685,477.5807 214,748.3647 占用存储空间 8Byte 4Byte 精度 小数点后4位

位数据类型 位数据类型bit是一种逻辑数据类型 只有1和0两种数值 一般常用作true/false使用 定义bit列时,不允许为NULL,也不能建立索引 多个bit列可占用一个字节

文本型和图像型 文本类型text 图像类型image 每行可以存储2GB的二进制大型对象

时间戳型 时间戳型表示Timestamp 由系统自动赋值的一个计数器数据 记录了数据行的操作顺序 时间戳列的数据保持惟一,它可以惟一标识表中的列 时间戳列的值实际来自于事务日志

例10-2 确定期刊采编系统数据库中各数据表中字段的字段名和数据类型 数据表Mag_dept

数据表mag_emp

数据表Mag_info

数据表mag_doc

例10-3 建立期刊采编系统 数据库中各数据表 创建mag_dept表

创建mag_emp表

创建mag_info表

创建mag_doc表

10.2 修改数据库表 添加或删除列 修改列的属性 更改列名和表名

10.2.1 添加或删除列 增加列的语句格式 Alter table 表名 add 列名 数据类型 10.2.1 添加或删除列 增加列的语句格式 Alter table 表名 add 列名 数据类型 { identity |NOT NULL| NULL },… 删除列的语句格式 drop column 列名

例10-4 向数据表mag_emp中添加一新属性ID(身份证号码),数据类型为字符型,固定长度18

例10-5 删除数据表mag_emp中属性ID

10.2.2 修改列的属性 命令格式 alter table 表名 alter column列名 数据类型 10.2.2 修改列的属性 命令格式 alter table 表名 alter column列名 数据类型 { identity |NOT NULL| NULL }

例10-6 将数据表mag_info中PubDate的数据类型更改为smalldatetime

10.2.3 更改列名和表名 更改列名 sp_rename ‘表名.原列名’, 新列名 更改表名 sp_rename 原表名 新表名

例10-7 数据库usedb1中建有数据表test,包含number、stu_name和class三个字段,请将class更名为class_no

例10-8 将数据库usedb1中数据表test更名为student

10.3 使用约束 约束的作用 实现数据的完整性 实体完整性 参照完整性 用户自定义完整性 约束的类型 建立约束 删除约束

参照完整性 关系DEPT 关系S 学号 姓名 S256 S257 S258 王丹 章华 李力 性别 系号 男 女 D23 D25 D30 系名 负责人 物理 机械 计算机 王娟 杨华 张天 关系S 关系DEPT

10.3.1 约束的类型 名称 作用 实现的完整性 Primary key 定义主键,保证主键列无重复值 实体完整性 Unique 10.3.1 约束的类型 名称 作用 实现的完整性 Primary key 定义主键,保证主键列无重复值 实体完整性 Unique 保证该列无重复值 Foreign key 定义外键,保证数据表间数据的一致性 参照完整性 Check 定义表中某些列的数据范围 自定义完整性 Default 为列的数据提供默认值

10.3.2 建立约束 定义约束时使用Create table语句 或使用Alter table语句 10.3.2 建立约束 定义约束时使用Create table语句 或使用Alter table语句 即可以在定义数据表的数据列时直接定义约束,也可以对已定义的数据表添加约束

使用Alter table语句添加约束的基本格式 Add [Constraint 约束名] 约束定义

使用Create table语句建立约束 Create table 表名 (列名1 数据类型 { identity |NOT NULL| NULL } [Constraint 约束名] 约束定义, 列名2 数据类型 { identity |NOT NULL| NULL } … [Constraint 约束名] 约束定义)

PRIMARY KEY 定义主键约束的基本格式为: [Constraint 约束名] primary key (列名1[,列名2,…])

例10-9 向数据表map_dept中 添加主键约束

例10-10 在数据库usedb2中建立数据表map_dept,同时定义主键约束

例10-11 在数据库usedb1中建立数据表grade,表中包括学号sno(char)、课程号cno(char)、成绩gmark(numeric)属性 主键由学号和课程号构成

UNIQUE 定义数据表中非主键的列在各行记录中不能出现相同的非空值 定义格式: [Constraint 约束名]

例10-12 向数据库usedb2中数据表mag_dept属性DepManager增加UNIQUE约束

FOREIGN KEY [Constraint 约束名] 定义外键的命令基本格式 [Constraint 约束名] foreign key (列名1[,列名2,…]) references 表名(列名1[,列名2,…])

例10-13 向数据库MagDb中数据表mag_emp的属性DepId添加 外键约束

例10-14 在数据库usedb2中建立数据表mag_emp,同时定义主键和外键

CHECK 定义约束check的命令基本格式 [Constraint 约束名] check(逻辑表达式)

例10-15 将数据库MagDb中数据表mag_emp的属性EmpAge取值范围限定在1-100之间(含1和100),并将此约束命名为ck_age

DEFAULT 定义约束default的命令基本格式为 [Constraint 约束名] default 常量表达式 for 字段名

例10-16 将数据库MagDb中数据表mag_emp的属性EmpRole的默认值指定为“编辑”

10.3.3 删除约束 删除约束的语句格式 Alter table 表名 Drop Constraint 约束名

例10-17 删除数据库usedb2中数据表mag_dept属性DepManager的UNIQUE约束

10.4 建立索引 索引的类型 建立索引 设计索引 删除索引

10.4.1 索引的类型 聚集索引(clustered) 非聚集索引(nonclustered) 是一种物理存储方式 10.4.1 索引的类型 聚集索引(clustered) 是一种物理存储方式 一个数据表只能建立一个聚集索引 非聚集索引(nonclustered) 是一种逻辑存储方式 索引的次序并不影响数据的物理存储顺序 一个数据表最多可以建立249个非聚集索引

10.4.2 建立索引 建立索引的语法 Create [unique] [clustered|nonclustered] 10.4.2 建立索引 建立索引的语法 Create [unique] [clustered|nonclustered] index 索引名 on 表名(列名1,列名2,…)

例10-18 对数据表mag_emp属性EmpAge建立非惟一的非聚集索引age_index

10.4.3 设计索引 创建索引时一般应遵循以下原则 经常要查找的列 经常要按顺序检索的列 经常用于多个数据表连接的列 10.4.3 设计索引 创建索引时一般应遵循以下原则 经常要查找的列 经常要按顺序检索的列 经常用于多个数据表连接的列 经常用于进行统计计算(如求极值、求和等)的列; 在查询条件中频繁使用的列 如果一个列中只有几个不同的数据值,或者被索引的列多于20个字节时,通常不应该建立索引

10.4.4 删除索引 删除索引的语法 Drop index 表名.索引名 10.4.4 删除索引 删除索引的语法 Drop index 表名.索引名 注意使用primary key约束和unique约束建立的索引不能删除

例10-19 删除索引age_index

10.5 删除数据库表 删除数据表的语法 Drop table 表名

例10-20 删除usedb2中数据表mag_dept