当前位置:Gxlcms > 数据库问题 > 数据库的总结

数据库的总结

时间:2021-07-01 10:21:17 帮助过:7人阅读

1.SQL Server数据库基础 2 3 1-1:使用数据库的必要性 4 a.可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 5 b.可以有效地保持数据信息的一致性、完整性,降低数据冗余。 6 c.可以满足应用的共享和安全方面的要求。 7 d.数据库技术能够方便智能化地分析,产生新的有用信息。 8 1-2:DBMS(数据库管理系统)的发展史 9 a.萌芽阶段--文件系统 10 b.初级阶段--第一代数据库 11 c.中级阶段--第二代数据库 12 d.高级阶段--新一代数据库 13 1-3:当今数据库简介 14 a.SQL Server简介 15 (1)企业版(SQL Server 2005 Enterprise Edition) 16 (2)标准版(SQL Server 2005 Standard Edition) 17 (3)工作组版(SQL Server 2005 Workgroup Edition) 18 (4)开发版(SQL Server Developer Edition) 19 (5)评估版(SQL Server Evaluation Edition) 20 b.Oracle简介 21 Oracle是一种大型的数据库,用于大型的网站开发使用,它的配置、管理、系统维护成为了一种专门的技术,涉及到比较多的、系统的专业知识。 22 c.DB2简介 23 DB2数据库核心又称为DB2通用服务器,不但可以运行于多种操作系统之上,而且它根据相应的平台环境做了调整和优化,以便能够达到更好的性能。其它数据库如:SyBase、MySQL等等,在不同的行业、不同的应用场合也有一定的应用。 24 1-4:数据库的基本概念 25 a.实体和记录(实体是所有客观存在的,不同的数据体现了不同的实体。数据库当中的每一行又叫做一条记录) 26 b.数据库和数据库表(不同的记录组织在一起,形成了数据库的"表"。表是实体的集合,是用来存储具体的数据的。关系,通过建、类型、规则、权限、约束、触发器等抽象概念来表达。通常说"把数据存到数据库当中",其实就是存到"数据库的表当中") 27 c.数据库系统和数据库管理系统(数据库管理系统【DBMS】是一种系统软件,由一个互相关联的数据集合和一组访问数据的程序构成。这个数据集合通常称为数据库。 数据库系统【DBS】是一个实际可运行的软件系统,可以对系统提供的数据进行存储维护和应用,它是有存储介质、处理对象和管理系统共同组成的集合体。它通常由软件、数据库和数据库管理员组成。) 28 d.数据冗余(Redundance)【数据的重复性】和数据完整性(Integrality)【数据的准确性】【有些时候还是可以有少量数据的冗余现象】 29 1-5:SQL Server 2005管理器 30 SQL Server数据库按用途可分为:系统数据库和用户数据库 31 Microsoft SQL Server提供以下数据库: 32 (1)Master数据库(1.所有的登录账户和系统配置设置2.所有其他的数据库及数据库文件的位置3.SQL Server的初始化信息) 33 (2)Tempdb数据库(在SQL Server每次启动时重新创建) 34 (3)Model数据库(Model数据库用作在系统上创建所有数据库的模板) 35 (4)Msdb数据库(Msdb数据库提供SQL Server代理程序调度警报、作业以及记录操作时使用) 36 a.新建一个数据库连接(Window省份验证和SQL Server身份验证) 37 b.新建数据库登录名 38 1-6:创建和管理SQL Server数据库 39 a.创建数据库 40 (1)数据库文件(Database File) 41 (2)事务日志文件(Transaction Log File) 42 (3)文件组(File Group)【主文件组(Primary File Group)和此文件组(Secondary File Group)】 43 b.数据库管理和维护 44 (1)分离和附加数据库(数据库启动的时候,数据库文件时不可以粘贴和复制的) 45 (2)设置数据库状态(属于脱机状态的数据库,文件是可以复制和粘贴的,点击联机即可联机) 46 (3)收缩数据库 47 (4)删除数据库(谨慎操作) 48 2.SQL Server数据库表管理 49 50 2-1:表的几个基本概念 51 a.数据完整性(可靠性、准确性) 52 (1)实体完整性约束【行】(索引、唯一约束、主键约束或标识列属性) 53 (2)域完整性约束【列】(数据类型、检查约束、输入格式、外键约束、默认值、非空约束) 54 (3)引用完整性约束(在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系 如:主表和子表) 55 (4)自定义完整性约束(用户自定义完整性用来定义特定的规则。如果不满足要求则不能插入,这个时候就需要使用数据库的规则、存储过程或者触发器对象来进行约束) 56 b.主键(Primary Key)和外键(Foreign Key) 57 (1)主键 58 表中有一列或几列组合的值能用来唯一地标识表中的每一行,这样的一列或者多列组合叫做表的主键。一个表只能有一个主键,主键约束确保了表中的行是唯一的;尽管表中可以没有主键,但是通常情况下应当为表设置一列为主键。如果两列或多列组合起来唯一地标识表中的每一行,则该主键也叫做"组合键";在选择哪列为主键时应该考虑连个原则:最少性和稳定性。 59 (2)外键 60 "外键"就是用来达到这个目的的,它是对应主键而言的,就是"子表"中对应于"主表"的列,在子表中称为外键或者引用键,它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。一个表可以有多个外键。 61 2-2:建立数据库表 62 63 a.在SQL Server Management Studio中建立数据库表 64 b.确定列的数据类型 65 (1)二进制数据类型 66 binary varbinary image 67 (2)文本数据类型 68 char varchar nchar nvarchar text ntext 69 (3)日期和时间 70 datetime 71 (4)数字数据 72 int smallint tinyint bigint (float real) 73 (5)货币数据类型 74 Money 75 (6)Bit数据类型 76 Bit 77 c.是否允许为空值(如果该列允许为空,则在输入数据行的时候,这一项可以不输入) 78 d.建立主键 79 e.默认值 80 f.标识列(数据属于数字类型int,标识种子,标识增量,不重复) 81 2-3:建立表间关系 82 2-4:建立检查约束 83 2-5:导入和导出数据 84 2-6:删除表(谨慎小心) 85 86 3.SQL Server数据管理 87 88 3-1:SQL简介 89 a.SQL和T-SQL(T-SQL【Transact-SQL是标准的SQL强化版】) 90 b.T-SQL的组成 91 (1)DML(数据操作语言):用来查询、插入、删除、修改数据库中的数据 92 (2)DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等等 93 (3)DDL(数据定义语言):用来建立数据库、数据库对象和定义其列大部分是以Create开头的命令,如:CreateTable、CreateView及Drop Table等等 94 3-2:T-SQL中的条件表达式和逻辑运算符 95 a.条件表达式 96 (1)常量:表示单个指定数据值的符合(如:字符,数字、字) 97 (2)列名(表当中列的名称,表达式中仅允许使用列的名称) 98 (3){一元运算符}:仅有一个操作数的运算符 99 (4){二元运算符}:将两个操作数组合执行操作的运算符 100 = > < >= <= <>不等于 !非 101 (5)通配符:通配符经常与like关键字一起配合使用 102 _一个字符 如:A Like C_ 103 % 任意长度的字符串 如:B Like CO_% 104 [] 括号中所指定范围内的一个字符 如:C like 9W0[1-2] 105 [^] 不在括号中所指定范围内的任意一个字符 如: 106 D LIKE like 9WO[^1-2] 107 如:TelCode LIKE 13[5-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] 108 b.逻辑表达式(IN 关键字用来限制范围) 109 T-SQL支持的逻辑运算符有And、Or和Not 110 如:Not (付款方式=信用卡) OR (信用卡 in (牡丹卡,金汇卡,龙卡,阳光卡)) 111 112 3-3:使用T-SQL插入数据 113 a.语法:insert [into] <表名> [列名] values <值列表> 114 b.一次性插入多行数据 115 (1)通过Insert Select语句将现有表中的数据添加到新表中 116 inset into TongXunLu (姓名,地址,电子邮件) 117 select SName,SAddress,SEmail 118 from Students 119 (2)通过Select Into语句将现有数据添加到新表中 120 select Students.SName,Students.SAddress,Students.SEmail 121 into TongXunLu 122 from Students 123 语法: 124 select identity(数据类型,标识种子,表示增量) as 列名 125 into 新表 126 from 原始表 127 修改为: 128 select Students.SName,Students.SAddress,Students.SEmail,identity(int,1,1) 129 as StudentID 130 into TongXunLu 131 from Students 132 (3)通过Union关键字合并数据进行插入 133 insert Students (SName,SGrade,SSex) 134 select 王军,7,1, union 135 select 李四,3,6, union 136 select 张三,4,1, union 137 select 小红,7,2 138 139 3-4:使用T-SQL更新数据 140 141 语法:update <表名> set <列名=更新值> [where <更新条件>] 142 如: 143 update Students 144 set SAddress="四川成都" 145 where SAddress="上海" 146 147 3-5:使用T-SQL删除数据 148 a.使用Delete删除数据 149 语法:delete from <表名> [where <删除条件>] 150 如: 151 delete from Students 152 where SName=张青裁 153 错误做法: 154 如: 155 delete SAddress from Students 156 157 b.使用Truncate Table删除数据(清空重置【顺序】) 158 TRUNCATE TABLE Students 159 Truncate Table的执行速度比Delete快而且占用的资源更少 160 161 4.数据查询(一) 162 163 4-1:T-SQL查询基础 164 a.查询和记录集 165 b.使用Select语句进行查询 166 语法: 167 select <列名> 168 from <表名> 169 [where <查询条件表达式>] 170 [order by <排序的列名> [ASC或DESC]] 171 (1)查询所有的数据行和列 172 select *from Students 173 (2)查询部分行列---条件查询 174 Select SCode,SName,SAddress 175 from Students 176 where SAddress=河南新乡 177 (3)在查询中使用列名 178 select SCode as 学员编号,SName as 学员姓名 179 from Students 180 where SAddress <> 河南新乡 181 (兼容性,字符串结果为字符串,数值型结果为数值型) 182 select FirstName+.+LastName as 姓名 183 from Employee 184 185 select 姓名=FirstName+.LastName 186 from Employee 187 (4)查询空行 188 select SName from Students where SEmail IS NULL 189 (5)在查询中使用常量列 190 select 姓名=SName,SAddress=地址,河北兴隆 as 学校名称 191 from Students 192 (6)查询返回限制的行数 193 select Top 5 SName,SAddress 194 from Students where SSex=0 195 196 197 4-2:查询排序 198 如: 199 select StudentID as 学员编号,(Score*0.9+5) as 综合成绩 200 from Score 201 where (Score*0.9+5)>60 202 order by Score 203 4-3:在查询中使用函数 204 a.字符串函数 205 b.日期函数 206 c.数学函数 207 d.系统函数 208 209 4-4:数据查询的案例分析(1210 211 5.数据查询(二) 212 213 5-1:模糊查询 214 a.使用Like进行模糊查询 215 select *from Students where SName LiKE 张% 216 b.使用Between在某个范围内进行查询(使用NOT去反) 217 select *from Sales where ord_date not between 1992-8-1 218 c.使用In在列举值内进行查询 219 如: 220 select SName as 学员姓名 from Students where SAddress in(北京,广州,上海) 221 order by SAddress 222 223 5-2:SQL Server中的聚合函数 224 a.Sum(select sum(ytd_sales) from titles where type=business) 225 b.Avg(select avg(Score) as 平均成绩 from Score where Score>=60) 226 c.Max和Min(select avg(Score) as 平均成绩,max(Score) as 最高分,min(Score) as 最低分 from Score where Score>=60) 227 d.Count(select count(*) as 及格人数 from Score where Score>=60) 228 229 5-3:分组查询 230 a. 使用Group By进行分组查询 231 如: 232 select CourseID,avg(Score) as 课程平均成绩 233 from Score 234 group by CourseID,CourseID 235 b.使用Having子句进行分组筛选 236 如: 237 select StudentID as 学员编号,CourseID as 内部测试,avg(Score) as 内部测试平均成绩 from Score 238 group by StudentID,CourseID 239 having count(Score)>1 240 241 Where ---->Group By---->Having 242 243 5-4:多表联接查询 244 a.多表联接查询的分类 245 (1)内联接(Inner join) 246 (2)外联接 247 左外联接(Left Join或Left Outer Join) 右外联接(Right Join或Right Outer Join) 完整外联接(Full Join或Full Outer Join) 248 (3)交叉联接(交叉联接返回左表中的所有行,左表中的所有行再一一组合,相当于两个表"相乘") 249 b.内联接查询 250 (1)在Where子句中指定联接条件 251 (2)在From子句中使用Join..on 252 c.外联接查询 253 (1)左外联接查询 254 (2)右外联接查询 255 256 5-5:数据查询的案例分析(2) 257 a.查询一张表中的奇数行和偶数行 258 b.银行卡恢复 259 260 261 262 6.数据库的设计 263 264 6-1:为什么需要规范的数据库设计 265 a.什么是数据库的设计(将数据库中的数据对象以及这些数据对象之间关系,进行规划和结构化的过程) 266 数据库的设计目的:减少数据冗余,维护数据的完整性(减少复杂程度) 267 b.数据库设计非常重要 268 (1)效率高 (2)便于进一步扩展 (3)使得应用程序开发变得更容易 269 270 6-2:设计数据库的步骤 271 a.需求分析阶段 b.概要设计阶段 c.详细设计阶段 d.代码实现阶段 272 (收集信息、标识对象、标识每个对象需要存储的详细信息、标识对象之间的关系) 273 274 6-3:绘制E-R(实体-关系)图 275 a.实体-关系模型(箭头指向1方向、矩形代表实体集、椭圆代表属性、鳞形代表关系集、直线用来连接属性和实体或关系集) 276 (实体、属性、关系、映射基数【一对一、一对多、多对一、多对多】、实体关系图) 277 b.如何将E-R图转化为表(多多关系建立表关系是通常拆分为一多关系) 278 6-4:数据规范化 279 a.设计问题(减少数据冗余,维护数据的完整性(减少复杂程度)) 280 【信息重复、更新异常、插入异常(无法表示某些信息)、删除异常(丢失有用的信息)】 281 b.规范设计(三大范式) 282 【第一范式:目标是确保每列的原子性、都不可再分的最小数据单元(过细、过于复杂、需求)】 283 【第二范式:如果满足1NF,并且除了主键以外的其他列,都依赖于该主键。一个表描述一件事情(组合键)】 284 【第三范式:如果一个关系满足2NF,并且除了主键以外的其他列都不直接依赖于主键列(低-高、列表拆分、关联性【连动性 会变化、规律性、拆分 完整性 效率 包含性)】 285 (1)是否满足第一范式 286 (2)是否满足第二范式 287 (3)是否满足第三范式 288 【通常情况下,为了操作方便可以适当增加数据冗余现象】 289 290 291 c.规范化和性能的关系 292 【既要考虑三大范式,避免数据的冗余和各种数据操作异常,又要考虑数据访问性能】 293 【通常情况下,为了操作方便可以适当增加数据冗余现象】 294 295 296 7.数据库的实现 297 298 7-1:T-SQL语句回顾(注意:删除和更新,一定要记住加条件!!!!) 299 a.添加数据 300 语法:insert [into] 表名 (字段1,字段2,。。。) values (值1,值2,。。) 301 insert into stuInfo(stuName,stuNo,stuAge) values (张三,s2234,22) 302 b.修改数据 303 语法:update 表名 set 字段1=值1,字段2=值2,。。where (条件) 304 update stuInfo set stuAge=25 where stuName=张三 305 c.查询数据 306 语法:select 字段1,字段2,。。from 表名 where (条件) order by 字段名 307 select stuName,stuNo from stuInfo where stuAge<25 order by stuNo 308 d.删除数据 309 语法:delete from 表名 where (条件) 310 delete from stuInfo where stuAge<20 311 312 7-2:使用SQL语句创建和删除数据库(主数据文件:*.mdf、次要数据文件:*.ndf、日志文件:*ldf) 313 a.创建数据库 314 语法: 315 create database 数据库名 316 on [primary] 317 ( 318 <数据文件参数>[,..n] [<文件组参数>] 319 ) 320 [log on] 321

人气教程排行