数据库原理及应用(六)SQL Server关系数据库系统
MSSQL客户机/服务器体系
1.MSSQL客户机/服务器的三层结构(C/S系统)
三层结构:主服务器(管理完整数据库)、一般服务器(数据库的工作前段,管理一个/多个独立数据库)、客户机
2.C/S系统的软件结构
Net_Library:一段编程代码,通常称作dll,一个客户端只能加载一个Net_Library
Open Data Service(ODS,开放数据服务):服务器端的应用程序API
MSSQL Server:数据引擎
SQL Executive Server:自动处理计划和实施自动处理工作,有4个管理功能
1.任务管理 2.事件管理 3.警告管理 4.复制管理
Distributed Transaction Manager服务:分布式任务管理:用于保证数据库的一致性
MSSQL数据库结构
1.数据库类别 (1)物理数据与逻辑数据库
(2)系统数据库和用户数据库
2.数据库对象 (1)表和视图
(2)角色:一个/多个用户组成的单元
(3)索引:群聚和非群聚索引
(4)存储过程
(5)触发器:主要用于保障数据完整性
(6)约束:主键约束、外键约束、唯一性约束、条件约束、非空值约束
3.数据库结构 三种物理文件:基本数据文件.mdf 辅助数据文件.ndf 日志文件.ldf
组件: 页:最小数据单元,每页为8k(数据页、索引页、日志页、文本/图像页、全局分配映射、页空闲控件、索引分配映射)
扩展:8个相邻的页合并而成
4.系统数据库 (1)Master数据库:控制用户数据库和用户操作
(2)Msdb数据库:记录任务计划信息、事件处理信息、数据备份及数据恢复信息、警告及异常信息
(3)Model数据库:每个新数据库都以模板为基础
(4)tempdb数据库:临时表的工作区
MSSQL管理功能
1.服务器的安装、配置、管理
2.服务管理
3.数据库管理
4.数据库对象管理
5.数据管理
6.安全性管理
7.作业管理
8.集成管理
Transact-SQL的数据定义功能
1.创建和管理库
CREATE DATEBASE(数据库名)
[ON [PRIMARY] [NAME = <逻辑数据库文件名>,]FILENAME = '路径'[,SIZE = 文件长度][,MAXSZIE = 最大长度][,FILEROWTH = 文件增长率]) [,...n]][LOG ON([NAME = <逻辑日志文件名>,]FILENAME = '文件名'[,SIZE=<文件长度>])][,...n]
[FOR RESTIRE]
选择数据库
USE <数据库名>
GO
2.定义表
CREATE TABLE <表名> (<列名> <类型> |AS <表达式> [字段约束])[,...][<约束记录>]
3.数据表维护
(1)修改字段的定义
ALTER TABLE <表名>ALTER COLUMN <列名> (新类型) [(NOT)NULL] <约束定义>
(2)增加字段或约束条件
ALTER TABLE <表名> ADD (<列定义> | [<表约束定义>])
(3)删除字段和约束规则
ALTER TABLE <表名> DORP [[CONSTRAINT <约束名> | COLUMN<列名>]]
(4)约束条件生效/无效
ALTER TABLE <表名> [[CHECK | NOCHECK] CONSTRAINT[ALL <约束名>]]
4.创建索引表
(1)创建索引
CREATE [UNIQUE] [CLUSTERED |NONCLUSTERED]
[INDEX <索引名> ON <表名> (<索引列组>)]
[WITH[PAD_INDEX]][[,]FILEFACTOR = (页充满程度)][[,]IGNORE_DUP_KEY][[,]DEOP_EXISTING][[,]STARTISTICS_NORECO,PUTE]
5.创建和管理视图
创建和管理缺省项
(1)创建缺省
CREATE DEFAULT <缺省名>AS<表达式>
(2)绑定缺省
EXEC sp_bindfault '<缺省名>' ,'<表名>','<列名>'
创建和管理规则
(1)创建规则
CREATE RULE(规则) AS <规则表达式>
(2)绑定规则
EXEC sp_bindrule '<规则名>' ,'<对象名>'
(3)解除规则
EXEC sp_unbindrule '<规则名>','<对象名>'
(4)删除规则
DROP RULE <规则名>
创建和管理存储过程
(1)创建存储过程和调用存储过程
(2)删除存储过程
DROP PROCEDURE <存储过程名组>
创建和管理触发器
(1)创建触发器
(2)删除触发器
DROP TRIGGER <触发器名称>
Transact-SQL数据操作功能及实例
1.数据检索语句和语句格式
SELECT <查询列>[INTO <新表名>][FROM <数据源>][WHRER <元组条件表达式>][GROUP BY <分组条件>][HAVING <组选择条件>][ORDER BY <排序条件>][COMPUTER <统计列组>][BY <表达式>]
2.数据更新
(1)插入
INSERT [INTO] <表或视图名> [(<列组>)]{VALUE <列值> <SELECT语句>}
(2)修改
UPDATE <表或视图名>
SET<列名> = {<表达式> | [DEFAULT][,...n]}
[WHRER <条件>]
3.删除数据
DELETE [FROM] <表名>
[WHERE <条件>]
Transact-SQL附加的语言元素
1.变量的定义和使用
(1)局部变量的定义语句
DECLARE @ (变量名) <数据类型> [,...n]
(2)PRINT语句显示变量
PRINT '字符串' | @<局部变量> | @@<局部变量>
(3)数据转换函数
CAST(<表达式> AS <数据类型>)
CONVERT(<数据类型>[<长度>],<表达式>)
2.流控制语句
(1)IF...ELSE
(2)BEGIN...END
(3)WHILE
(4)注释
(5)GOTO<标号>
(6)RETURN[<整数>]
(7)CASE
数据库原理及应用(六)SQL Server关系数据库系统相关推荐
- 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数
目录 一.流程控制语句 (一)BEGIN...END语句块 (二)条件语句 (三)循环语句 1.WHILE语句 2.BREAK语句和CONTINUE语句 (四)无条件转移语句 (五)返回语句 (六)等 ...
- 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
前言 以下皆使用T-SQL语句的方式来执行语句,使用图形界面方式不再累赘. 一.用户定义数据类型 (一) CREATE TYPE 语句 1.CREATE TYPE语句 下面介绍使用T-SQL语句,创建 ...
- 数据库原理与应用(SQL Server)笔记 第二章 简单数据查询
文章目录 前言 一.SELECT 子句 (一)投影指定的列和投影全部列 (二)AS子句修改查询结构的列标题 例题1 (三)TOP谓词限制结果集中的行数 (四)INTO子句将结果插入新表中 例题2 (五 ...
- 数据库原理与应用(SQL Server)笔记 第一章 数据定义语言和数据操纵语言
文章目录 前言 一.基本介绍 二.在SQL里执行T-SQL语句 三.数据定义语言(DDL) (一)概述 (二)数据定义语言用于数据库 1.创建数据库 2.修改数据库 3.使用数据库 4.删除数据库 5 ...
- mysql数据库应用与开发姜桂洪 课后答案_数据库原理及应用(SQL Server 2012) 王丽艳版 课后习题第一至六章答案...
有很多小伙伴说在网上很难找到这本教材的答案,临近期末复习关头,特将此文章共享到知乎,希望大家考试旗开得胜! 第一章 一.填空题 1.载体 2. 数据库 3.数据库 4.数据库 5.模式 6.例行程序 ...
- 数据库原理与应用(SQL Server)笔记 第六章 数据完整性
目录 前言 一.实体完整性 (一)主键约束(PRIMARY KEY约束) 1.创建表时创建主键约束 2.修改表时创建主键约束 3.删除创建的主键约束 (二)唯一性约束(UNIQUE约束) 1.创建表时 ...
- 数据库原理与应用(SQL Server)笔记 第十一章 游标
目录 前言 一.游标的定义 二.游标的声明 三.游标的打开 四.游标的使用 五.游标的关闭 六.游标的删除 七.静态游标和动态游标 结语 前言 本章内容将从六个方面介绍关于游标的知识,分别是其定义.声 ...
- 数据库原理与应用(SQL Server)笔记 第九章 存储过程和触发器
目录 前言 一.存储过程 (一)存储过程的定义 (二)存储过程的特点 (三)存储过程的分类 1.用户存储过程 2.系统存储过程 3.扩展存储过程 (四)存储过程的创建 (五)存储过程的执行 (六)带参 ...
- 数据库原理与应用(SQL Server)笔记 第四章 嵌套查询和其他查询子句
目录 前言 一.嵌套查询 (一)子查询 (二)ANY或ALL谓词的子查询和比较运算的子查询 1.ANY子查询 2.ALL子查询 (三)EXISTS子查询 二.其他查询子句(集合查询) (一)UNION ...
最新文章
- android TranslateAnimation动画执行时的坐标获取。
- Android中的context
- STM32 LWIP TCP 数据包分包后合并,超过591字节后分会分包问题
- go语言快速刷《程序员面试金典》(2)
- 全网最新Redis结合Kaptcha实现验证码功能篇一(前后端分离)
- es6 对象的扩展运算符
- 云计算之路-试用Azure:搭建自己的内网DNS服务器
- Java区间拆分子集求和,对列表中的数字子集求和
- 教你破资深加密工具lockdir.exe加密后的文件
- 园区网络IP地址规划
- win 10连上wifi 无Internet 解决方法
- 小程序出现 返回顶部按钮 top
- Django(静态文件和Django应用和分布式路由)
- 【算法分析】多个对比算法的统计检验方法
- 2022年上半年软考科目有哪些?要注意
- PHP+Mysql—留言管理系统网站(前端+后端、整套源码)
- 软件测试面试题 | 提BUG相关
- 用腾讯云阿里云搭建自己的个人网站
- Python类实例化时出现 take no arguements 的错误
- 神医“大数据” 甘做幕后英雄