好文档 - 专业文书写作范文服务资料分享网站

《数据库原理》教案

天下 分享 时间: 加入收藏 我要投稿 点赞

第6章 创建和使用数据库

一、数据库文件

1.一个数据库至少有一个主要数据文件和一个事务日志文件。如果数据库很大,可以使用一个主要数据文件、多个次要数据文件和多个事务日志文件。

主数据文件(.mdf ) 次数据文件(.ndf ) 2.系统数据库

Master数据库、Model数据库 二、创建数据库 1.打开数据库: Use 数据库名 2.删除数据库: Drop database数据库名 三、修改数据库 1.分离和附加数据库 2.备份和还原数据库 3.数据的导入和导出

第7章 创建和使用表 项目7.1 数据类型

1.字符型

char(n): 定长字符型,n表示字符数,取值为1~8000。若缺省n,则默认为1。 varchar(n):变长字符型 Text:可以存储任意长的字符串

说明:标准字符型:每个英文字母、数字算1个字符,每个汉字算2个字符,每个字符占1个字节。

2.统一码字符型

每个英文字母、数字、汉字算1个字符,每个字符占2个字节。 nchar(n): n表示字符数,取值为1~4000。 nvarchar(n)

ntext:可以存储任意长的统一码字符串。 例:设某表的结构如下: no char(6), name nchar(6)

则no可以赋予3个汉字,name可以赋予6个汉字 3. 整型

用于存放数据库的各类对象

事务日志文件(.ldf ):用来记录对数据库对象的所有更新操作。

Bigint Int Smallint Tinyint bit 4.实型

取值范围 -32768~ +32767 0~255 0,1 所占字节数 8 4 2 1 即逻辑型 ① 精确数值型 Decimal(p,s) Numeric(p,s)

精度P:表示全部数字的位数(不计小数点和正负号) S:表示小数位数,若缺省S,则默认为0 P-S:表示整数位数 ② 近似数值型

Real 精确到7位有效数字 Float 精确到15位有效数字 5.贷币型

Money:占8个字节,保留4位小数 Smallmoney:占4个字节,保留4位小数 字符串常量:由单引号括住的字符序列 贷币型常量:可以是一个实型常量 6.日期时间型 Datetime、Smalldatetime

① 若省略日期部分,则默认为:’1900-1-1’ 若省略时间部分,则默认为:’00:00:00’ ② 日期格式:’yyyy-mm-dd’ 时间格式:’hh:mm:ss’

项目7.2 使用对象资源管理器创建和管理表

一、创建表

1.在一个表中只能定义一个标识字段。

2.只有整型和精确数值型(decimal、numeric)字段才能指定为标识字段。 3.把某个字段指定为公式字段。 二、设置约束 1.主键约束:

每个表中只能有一列或一个组合被指定为主键,主键中的各个列不能为空值。 2.外键约束:

创建外键约束,就是定义两个表的永久关联,这两个表分别称为主键表、外键表。外键

表中外键的值只能是主键表中主键的有效值或空值。

3.唯一性约束:

? 主键约束与唯一性约束的区别是:

① 在一个表中只能定义一个主键约束,但可定义多个唯一性约束; ② 指定为主键约束的列不能取空值,但指定为唯一性约束的列允许取空值。 ? 创建主键约束、唯一性约束时可以指定聚集或非聚集。主键约束默认为聚集的,唯一性约束默认为非聚集的。

4.检查约束:

用于限制输入到一列或多列的值的范围,保证数据库的数据完整性。 5.默认值约束: 三、建立数据库关系图

要实现两表的永久关联,可以创建外键约束,也可以创建数据库关系图。

第8章 SQL语言 项目8。1 定义表

一、SQL语言的特点

SQL语言集数据定义、数据查询、数据操纵、数据控制的功能于一体。 数据定义 数据查询 数据操纵 数据控制 二、 定义表 1.创建表

create table 表名(属性名 类型,…,属性名 类型) ① 指定标识字段:identity(标识种子,标识增量) ② 指定公式字段:属性名 as 表达式 例:create table student (no int identity(1,1),

name char(6), chi smallint, mat smallint, score as chi+mat) 2.删除表

drop table表名,…, 表名

项目8.2查询表

一、select语句

动词 Create、drop select Insert、delete、update Grant、revoke

select */表达式表 [into 新表名] from 表名,…,表名 [where 条件] [group by 属性名] [having 条件]

[order by属性名][Asc/Desc]

1.Select 子句 ① *代表所有属性名

② 若一个属性名来自多个表,则属性名前须冠以表名,格式为:表名. 属性名 ③ 设置表达式的别名: 表达式 As 别名

④ 限制查询结果的记录行数: all 返回全部记录 top n 返回前面n号记录 distinct 表示取消重复行

说明:top n只能放在关键字select的后面;

all、distinct只能放在关键字select或聚合函数的后面。

2.Where 子句

① in的格式:属性名 in (常量,…,常量) ② like的格式:属性名 like 通配字符串 通配符有: % 表示0个或多个字符 - 表示1个字符

③ 在Where 子句中指定连接: Where 表名1. 属性名=表名2. 属性名

3.Order by子句

order by属性名1 [Asc/Desc], 属性名2 [Asc/Desc]

4.聚合函数

① sum(属性名):纵向求数值型属性之和。 ② avg(属性名)

③ count(*) 返回表的记录行数(含重复行)。

count(属性名) 返回指定列中取非NULL值的单元格数目。

count(distinct 属性名) 返回指定列中取非NULL值、非重复的单元格数目。 ④ max(属性名) ⑤ min(属性名) 5.Group by子句

使用Group by子句时,Select 子句只能使用分组项字段和聚合函数

6.Having子句

① Having子句只能跟在Group by子句之后,且只能使用聚合函数和分组项字段。 ② where子句放在Group by子句之前,甚至可以没有Group by子句;且不能包含聚合函数。

例:以系别为分组项,查询学生平均年龄大于19岁的系的系名和平均年龄。

Select sdept,avg(sage) as平均年龄 From student Group by sdept Having avg(sdept)>19 7.into子句

功能:将查询结果保存到新的基表中。

二、查询的分类 单表查询

连接查询 嵌套查询

若一个查询问题涉及到多个表,必定可以写成连接查询;若一个查询问题涉及到一个表,必定可以写成单表查询或嵌套查询。

1.连接查询:在where子句中指定连接 where 表名1.属性名=表名2.属性名 2.嵌套查询 ① 嵌套查询的特点

? 每级查询的from子句一般只包含一个表名。

? 若一个查询问题的中心词来自一个表,才可以写成嵌套查询。 ? 子查询不能使用order by子句,order by只能用于最顶层的查询。 ② 在where子句中指定子查询

where 属性名 [not] in(子查询):子查询返回一列多行。 where 属性名=(子查询):子查询返回一列一行。 where [not] exists(子查询):子查询返回多列多行。

项目8.3 操纵表

一、insert语句 (1)每次插入一条记录

insert into 表名[(属性名表)] values(表达式表) (2)插入子查询的结果 insert into 表名[(属性名表)] 子查询

《数据库原理》教案

第6章创建和使用数据库一、数据库文件1.一个数据库至少有一个主要数据文件和一个事务日志文件。如果数据库很大,可以使用一个主要数据文件、多个次要数据文件和多个事务日志文件。主数据文件(.mdf)次数据文件(.ndf)2.系统数据库Master数据库、Model数据库二、创建数据库1.打开数据库
推荐度:
点击下载文档文档为doc格式
14k6r5xkl19jajr88ky455t2h95x5500wcb
领取福利

微信扫码领取福利

微信扫码分享