很好的SQL复习笔记.doc_第1页
很好的SQL复习笔记.doc_第2页
很好的SQL复习笔记.doc_第3页
很好的SQL复习笔记.doc_第4页
很好的SQL复习笔记.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL 复习笔记Contents笔记开始2第一章什么是数据库2第二章理解数据库表和记录2第三章深入数据类型和其它属性3第四章设计关系表3第五章数据库数据操作4第六章深入SQL5第七章理解安全和网络连接7第八章连接客户端和SQL SERVER7第九章SQL Server Management Studio8第十章Reporting Service入门8第十一章用Business Intelligence Development Studio构建自己的Reporting Service8第十二章存储过程8第十三章全文搜索9笔记开始整理下数据库的笔记。本系列笔记的复习资料的主要来源:/sqlserver/2005/en/us/demos.aspx第一章 什么是数据库一、 数据库究竟是什么1. 数据库是结构化的数据存储文件2. 文件的结构确保文件的精确性3. 数据库文件的访问权限、数据的维护通常由软件来管理,SQL SERVER正是这样一款软件二、 为何需要数据库为何需要数据库而不直接把数据存储在txt或者excel等文件中,而需要数据库?使用数据库给我们许多许多的方便。比如减少数据冗余,比如数据查询更加方便,比如数据访问权限的控制,而且,通常来说,存储在数据库中的数据所需要的空间要比直接存储在文件中的数据所需要的空间小。三、 什么是关系数据库关系数据库靠以下几点来维护数据的完整性:1. 数据类型的正确性2. 除去冗余数据使数据唯一来保证数据的精确性3. 避免关系数据被意外删除的可能4. 数据被高效的存取和操作四、 关系数据库的其它服务1. 安全性2. 管理(备份、恢复、复制)3. 临时报表4. 可用性五、 C#和SQL SERVER的交互ADO.NET1. ADO.NET和数据库握手(数据里那届)2. ADO.NET执行命令(插入、更新、删除)3. ADO.NET执行查询(读数据、过滤数据等等)第二章 理解数据库表和记录一、 数据库表数据库可以包含多个表,数据库表是由列和行组成的。二、 列列有列名,列的类型来保证数据的完整性,有助于数据空间的存储三、 行行用来存储一个实体的信息。四、 FieldCell五、 术语CRUD=Create,Read,Update,Delete第三章 深入数据类型和其它属性一、 什么是数据完整性数据完整性说的主要有:保证数据类型的正确性;保证重要数据不意外丢失;保证数据值在用户要求的特定范围中。二、 约束关系数据库用约束来强制数据的完整性。约束主要包括数据类型的约束;引用约束;其他约束。三、 数据类型的选择大数据Int时间Smalldatetime小数据smallint货币smallmoney大量文本Varchar(max)Text(unicode)nvarchar四、 为何需要合适的数据类型1. 太大的数据类型浪费空间2. 太小的数据类型不够存储3. 不正确的数据类型需要数据转换4. 不正确的数据类型使得读取更加困难五、 表中的重要列主键列,唯一列,索引列,自增列第四章 设计关系表一、 为什么使用关系数据库关系数据库保证数据完整性,减少数据冗余;降低数据存储空间;提高性能二、 主键、外键主键可作为行的唯一标识(各行的主键都不相同)外键用于连接另一张表(一行的数据为另一张表的主键)三、 如何设计关系建表、建主键、建外键、建关系四、 数据关系一对多,一对一,多对多第五章 数据库数据操作一、 应用程序从数据库获得数据ADO.NET,操作SQL来查,操作数据二、 SQLCRUD。三、 READ(SELECT)-获取表的所有列SELECT * FROM Customers-获取表的特定列SELECT FirstName,LastName FROM Customers-给特定列命名SELECT FirstName as First Name,LastName as Last Name FROM CustomersSELECT FirstName First Name,LastName Last Name FROM CustomersSELECT FirstName a,LastName b FROM Customers-连接列SELECT FirstName+ +LastName as Customer Name FROM Customers-增加查询条件SELECT * FROM Customers WHERE CustomersID = 5SELECT * FROM Customers WHERE CustomersID 5SELECT * FROM Customers WHERE CustomersID = 5SELECT * FROM Customers WHERE CustomersID 5SELECT * FROM Customers WHERE FirstName = FredSELECT * FROM Customers WHERE DateCreate 2008-12-01 AND DateCreate 2008-12-01 OR DateCreate =3- 连接SELECT Products.ProductID,Products.ProductName, ProductTypes.ProductTypeNameFROM Products INNER JOIN ProductType ON Products.ProductTypeID = ProductType.ProductTypeID-SELECT p.ProductID,p.ProductName, pt.ProductTypeNameFROM Products p INNER JOIN ProductType pt ON p.ProductTypeID = pt.ProductTypeID-SELECT p.ProductID,p.ProductName, pt.ProductTypeNameFROM Products p INNER JOIN ProductType pt ON p.ProductTypeID = pt.ProductTypeIDINNER JOIN Orders o ON o.ProductID = p.ProductIDWHERE p.ProductPrice 29.95ORDER BY p.ProductID第六章 深入SQL一、 子查询SELECT * FROM Orders WHERE OrderID IN (SELECT DISTINCT OrderID FROM OrderItems WHERE ProductID=3)二、 插入INSERT Customers(FirstName,LastName,Address) VALUES(Pok,Tabor,1201 Wheatfield Dr)三、 更新UPDATE Customers SET City=NewYord,PostalCode=75086 WHERE LastName=Tabor四、 删除DELETE Customers WHERE LastName=Tabor五、 存储过程CREATE PROCEDURE CustomerInsert FirstName varchar(50), LastName varchar(50), Address varchar(50), City varchar(50)ASBEGIN INSERT Customers(FirstName,LastName,Address,City) VALUES(FirstName,LastName,Address,City)ENDEXECUTE CustomerInsert(Fox,Talor,1032 dr,New York)六、 VIEW-Template Explorer七、 存储过程和用户自定义函数的区别1.嵌套function:无限制sp:最多32层2.改数据操作function:不支持sp:支持3.结果返回function:可以返回标量值,返回表变量(表甚至可以定义名字) 具有不确定性,必须返回sp:并不一定需要返回,可返回记录集。 户定义函数不能用于执行一组修改全局数据库状态的操作4.是否可以使用非确定函数function:不允许在用户定义函数主体中内置非确定函数。 sp:可以使用非确定函数。5.返回值引用function:其返回值可以被直接引用sp:其返回值不能被直接引用6.调用function:在其他语句中调用selectsp:EXEC7.是否可以使用out参数function:function没有out参数,但是可以有返回值.sp:可以out参数第七章 理解安全和网络连接一、 默认情况下,用户是”User Instance”的管理员,用户都与其他用户互不影响。二、 分布式”User Instance”Windows验证和SQL SERVER混合验证三、 给Login赋予权限,赋予角色,常用角色包括SysadminDb_ownerDb_datareaderDb_datawriter同时也可创建自定义角色,赋予默认值四、 通常可能需要设置的地方网络设置创建login赋予角色修改连接字符串配置防火墙五、 网络设置SQL Server Configuration Manager六、 Login和User的区别Login是针对服务器的,User是针对数据库的第八章 连接客户端和SQL SERVER一、 创建Web Application二、 ADO.NETConnection, Command, Adapter, DataSet, DataAdapter, DataReader, DataTable, DataRow, DataColumn, CommandBuilderDataSet和DataReader的区别DataSet无连接,DataReader连接;DataSet相当于数据库,DataReader相当于游标;三、 ConnectionString的配置 ConfigurationManager.AppSettingsConnectionStrings第九章 SQL Server Management Studio一、 管理多台Server注册数据库,添加组等二、 备份还原数据库(右键)三、 Attach/Deattach(右键)四、 Design Query In EditorQuery-Design Query In Editor第十章 Reporting Service入门一、 什么是Reporting Service组成:RDL(Report Definition Language)文件,由SQL Serever Business Intelligence Development Studio创建Report Server:用SQL Server存储大量文件Report Manger:基于WEB的用户图形界面,通过浏览器查看Report。二、 Reporting Services Configuration Manger配置三、 创建数据库,SQL Serever Business Intelligence Development Studio创建Report。四、 部署时碰到弹出对话框要求输入用户名密码的问题原本的TargetServerURL为:http:/localhost:8080/Report改成http:/localhost:8080/ReportServer后,问题解决第十一章 用Business Intelligence Development Studio构建自己的Reporting Service一、 创建Report可以用Wizard,也可以用自己创建第十二章 存储过程一、 什么是存储过程,为什么需要储存过程以及何时使用存储过程存储过程是SQL语句的集合,有点像C#中的函数;定义在SQL SERVER中,供C#、VB调用。其中可包含事务等逻辑。可以有多个输入输出参数,可以定义声明变量,循环,游标等等。可以控制用户对数据库的访问;和应用程序集成二、 创建和执行简单的存储过程CREATE PROCEDURE GetProductsASBEGIN SELECT * FROM ProductENDExecute GetProductsexec GetProducts三、 输入输出参数以及返回值CREATE PROCEDURE GetProductsid INTASBEGIN SELECT * FROM Product WHERE ID=idENDCREATE PROCEDURE GetProductsid INT,productName NVARCHAR(50) OUTPUTASBEGIN SELECT productName=ProductName,* FROM Product WHERE ID=idENDCREATE PROCEDURE GetProductsASBEGIN DECLARE rowcount INT SELECT * FROM Product SET rowcount=rowcount RETURN rowcountENDdeclare output NVARCHAR(50)exec GetProducts 5,output OUTPUTPrint Output +ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论