DBMS扩大功能与SQL初级话题
CSV逻辑上由逗号分割数据的存储引擎9.DBMS供应的扩大功效把握了基础的干系模子道理和DBMS的数据范例,还必要对DBMS供应的扩大功效有所懂得,才干充实使用DBMS举行数据库开辟。
9.1.把持流
SQL是申明式言语,但DBMS面临实践开辟的需求,一般在SQL方言中都供应了历程式的扩大,包含(以T-SQL为例):
1.变量界说和赋值
DECLARE@var<datetype>--变量界说语句
SET@var=<value>--经由过程SET语句赋值
SELECT@var=MAX(column_value)FROM--经由过程SELECT语句赋值
2.代码块
BEGIN...END界说一个代码块。
关于上面的IF/ELSE和WHILE,假如疏忽了BEGIN...END代码块,前提和轮回将只对厥后的第一个语句失效。
3.前提分支语句
IF...ELSE...
注重IF语句与CASEWHEN表达式的区分。
4.轮回把持语句
WHILE能够举行轮回。BREAK/CONTINUE能够跳出或举行下一次轮回。
5.非常处置语句
SQLServer2005撑持TRY-CATCH语句举行非常处置,但只能处置一部分非常。详见联机丛书。
9.2.静态语句
SQL静态语句的功效很壮大,可是难以调试和保护(字符串拼接、无语法高亮)、效力低(难以重用实行企图)、平安性差(SQL注进)。除非功效上必需,不然只管制止利用静态SQL。
假设真的必要利用静态SQL,利用sp_executesql的体例优于EXEC()的体例。由于前者有些时分能够重用实行企图而改良功能,并且同意传参,数据范例上更平安。
9.3.DBMS撑持的数据库工具
SQLServer还撑持一时表、视图、存储历程、自界说函数(标量和表值)、触发器、游标等数据库工具,这是使用SQLServer举行开辟必需把握的常识。参看《MicrosoftSQLServer2005手艺内情:T-SQL程序计划》相干章节。
9.4.DBMS供应的体系函数、体系视图和体系存储历程
-SystemFunctions:供应特定的表达式运算功效,如日期工夫函数、字符串函数、数学函数、聚合函数等,是T-SQL编程必须的。
-SystemViews:包括了数据库元数据、体系外部运转数据等,如目次视图(用来取代SQLServer2000中的体系表)、信息架构视图、静态办理视图等。
-SystemProcedures:检察体系信息、修正体系设置等,如目次存储历程、数据库引擎存储历程等。
9.5.DBMS供应的工具
-数据库服务器设置工具:设置办理器、核心使用设置器等
-数据库客户端使用工具:SSMS、sqlcmd、bcp等
-数据库功能工具:SQLServerProfiler等
10.初级话题
以下是数据库相干的初级话题,每块都值得独自会商,本帖不再胪陈。
1.初级手艺专题
-数据库计划
-服务器架构
-索引和功能优化
-事件、锁定与并发
-备份与复原
相干书目:
-《SQLServer2005数据库服务器架构计划》
-《MicrosoftSQLServer2005手艺内情:存储引擎》
-《MicrosoftSQLServer2005手艺内情:查询、调剂和优化》
-《SQLServer2005功能调校》
2.开辟和保护相干的办理专题
-数据库权限办理
-数据库工具的版本把持
-数据库开辟的定名标准在JOIN操作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。 你可以简单地认为适合的就是好,不适合就是不好。 SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。) 两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书 一个是把SQL语句写到客户端,可以使用DataSet进行加工; 原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。 比如日志传送、比如集群。。。 对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。 从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
页:
[1]