优化MySchool数据库设计

第一章 数据库的设计

1.E-R图中:

矩形:实体

椭圆:属性

菱形:关系

直线:连接实体,属性和关系

2.映射基数

一对多

多对一

多对多

3.范式:

第一范式:确保每列的原子性

第二范式:确保表中的每列都和主键相关

第三范式:确保表中的每列都和主键有直接关系,而不是间接关系

第二章 数据库的实现

1.创建数据库

use master

go

create database 数据库名

on

(

)

log on

(

)

go

2.删除数据库

drop database 数据库名

3.创建表

use 数据库名

go

create table 表名

(

列名 数据类型,

列名 数据类型,

..........

)

go

4.添加约束

alter table 表名

add constraint 约束名 约束类型

约束语句

第三章 SQL编程

1.局部变量

declare 变量名称 变量类型

局部变量以@开头

2.全局变量

@@error 最后一个错误的错误号

全局变量以@@开头

3.print 输出变量或字符串

4.cast和convert的数据类型转换

case( 变量 as 数据类型 )

convert( 数据类型,变量)

cast 和 convert不同:convert可以时间格式时间改变

5.if-else

if(条件) 条件语句

begin

  代码块

end

else

begin

  代码块

end

6.while循环语句

while(条件)

begin

  代码块

end

7.case多分支语句

case

  when 条件1 then 代码块

  when 条件2 then 代码块

  [else其他结果]

end

第四章 高级查询

1.简单子查询和not in 、in之间的区别

in(not in)返回的不止一条数据

简单子查询返回的则必须是一条数据

2.分页查询

select top 2 id from A where not in(select top 4 id from B)

3.相关子查询和非相关子查询的不同:

相关子查询的内部查询不止执行一次,而且执行一次便把结果返回给外部查询

第六章 事务、视图和索引

1.执行事务SQL语句

begin tran

开始事务

rollback tran

回滚事务

commit tran

提交事务

2.事务分类:

a.显式事务

b.隐式事务

c.自动提交事务

3.视图创建

create view 视图名称

as

查询语句

4.索引的分类:

唯一索引、主键索引、聚集索引、非聚集索引、复合索引、全文索引

5.创建索引

create 索引类型 index 索引名 on 表名(列名,[列名])

[with fillfactor=x]

x为0~100

表示为百分之几

第七章 存储过程

1.存储过程的优点

模块化程序设计、执行速度快,效率快、减少网络流量、具有良好的安全性

2.系统存储过程为sp_开头,扩展存储过程为xp_开头,自定义存储过程为usp_开头

3.创建自定义存储过程

create proc usp_

@参数 参数类型,

..........

as

SQL语句

4.想要从存储过程输出得到的值,则在参数类型加个output即可

create proc usp_

@参数 参数类型 output,

..........

as

declare @a 参数类型

exec usp_ @a output

print @a

便可以得到存储过程中的值

时间: 2024-08-05 14:59:28

优化MySchool数据库设计的相关文章

优化MySchool数据库设计之【巅峰对决】

优化MySchool数据库设计 之独孤九剑 船舶停靠在港湾是很安全的,但这不是造船的目的 By:北大青鸟五道口原玉明老师 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要进行验证 02.查看帮助文档和搜索引擎的使用 借助网络上的Blog文章 03.不要急功近利 不要抱着速成的想法,否则必然走弯路学习编程不是一蹴而就的事情付出的成本高,才能有一个高薪的收入 04.不要浮躁 不要什么都学,只学有用的 浮躁的程度和技术水平成反比的走自己的路,让别人去浮躁去吧! 每

优化MySchool数据库设计总结

数据库的设计 一:什么是数据库设计? 数据库设计就是将数据库中的数据实体以及这些数据实体之间的关系,进行规范和结构化的过程. 二:为什么要实施数据库设计? 1:良好的数据库设计可以有效的解决数据冗余的问题 2:效率高 3:便于进一步扩展 4:使得应用程序开发变得容易 三:设计数据库的步骤 第一步    需求分析:  分析客户的业务和数据处理需求(收集信息,标识实体,标识每个实体需要存储的详细信息,标识实体间的关系) 第二步    概要设计:  绘制E-R图,用于与客户或团队成员的交流 第三步  

ACCP7.0优化MYSCHOOL数据库设计内测笔试题总结

) 在SQL Server 中,为数据库表建立索引能够(C ). 索引:是SQL SERVER编排数据的内部方法,是检索表中数据的直接通道 建立索引的作用:大大提高了数据库的检索速度,改善数据库性能 A. 防止非法的删除操作 B. 防止非法的插入操作 C. 提高查询性能 D. 节约数据库的磁盘空间 2) 在SQL SERVER中,创建一个表使用(C  )语句. A. INSERT   增加数据 B. DROP      删除数据库,表,约束,视图,索引,存储过程 C. CREATE   创建数据

优化Myschool数据库设计联合、联接、子查询

USE MySchoolgo --联合查询:合并多个数据集中的行SELECT StudentNo,SubjectNo,StudentResult From Result--UNIONSELECT SubjectNo,ClassHour,GradeID From Subject --联接查询:合并多个数据集中的列SELECT StudentName AS 姓名,SubjectNo AS 课程编号,StudentResult AS 成绩FROM Student INNER JOIN Result O

优化MySchool数据库设计—SQL编程,学习回顾用

使用变量 局部变量 语法:declare @variable_name datatype 局部变量的名称 数据类型 例:declare @name varchar(8) declare @number int 局部变量的赋值方法: 语法:set @variable_name = value 或select @variable_name = value

<<MySchool数据库设计优化>> 内部测试

1) 在SQL Server 中,为数据库表建立索引能够( C ). A. 防止非法的删除操作 B. 防止非法的插入操作 C. 提高查询性能 D. 节约数据库的磁盘空间 解析:索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能 2) 在SQL SERVER中,创建一个表使用(  C)语句. A. INSERT B. DROP C. CREATE D. ALERT 解析:A :insert 插入数据.   B: drop 进行删除操作 D:alter 添加约束 3) 在SQL SE

优化MySchool数据库(一)

Java培训.Android培训.iOS培训..Net培训.期待与您交流! <优化MyShcool数据库>:能够的独立的分析|设计|创建|运营|你的独立的数据库系统 设计--->实现--->TSQL--->查询优化---->性能优化技术----> 业务逻辑的固化 知识点回顾: 所谓数据“完整性”---- 表单中的数据:不丢失.不混乱 如何维护数据的“完整性”----- 在数据访问操作时,对操作行为进行复杂的限制和约束. “完整性约束”包括:实体完整性约束.域完整性

优化MySchool数据库(二)

Java培训.Android培训.iOS培训..Net培训.期待与您交流! 优化School数据库(TSQL建库建表建约束) 使用T_sql代码建库.建表.建约束: 建库: Create database HotelManagerSystem on ( ---- 数据文件--- ) log on ( ---- 日志文件 ) [当有多日志.多数据文件时,以逗号分隔,连续定义就可以了] Create database 数据库名 on (),(),() log on (),() 数据库文件的主要参数:

优化MySchool数据库(四)

Java培训.Android培训.iOS培训..Net培训.期待与您交流! 关于“无法附件数据库”过程的遇到的问题: 1.数据文件本身,具有访问权限的限制 ---- 选中 数据库文件所在的文件夹---->右键菜单(属性)----> 安全 --->User用户组(赋予完整控制权限) 2.数据库版本兼容性问题 ---- 数据库分离无效情况下,将整个数据库(结构+数据),导出成SQL 选中正在运行的数据库 ---->  右键菜单(任务--生成脚本) --->“高级”设置中----&