`
txf2004
  • 浏览: 7044625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
今天由袁龙友老师继续讲数据库,我没有去听课,下面是张挺记录的培训日记。
存储过程
存储过程就是一些代码的组合,类似Java中的方法,开发人员对复杂点的SQL语句一般都使用存储过程。
创建存储过程的形式:
Create proc Mytest(@Var1 varchar(10))
As
Begin
……
End
调用存储过程:exec MyTest(‘yuan’),也可以省略exec
一个海关报关系统的实际案例
该案例很有实用价值,通过一步步的解决问题,学到了不少析和设计数据库的相关知识,具体细节,需要结合实际的数据库来学习,在此不一一列出。
写一个存储过程,给某列按照HT YYYYMMDD 0001这样的形式自动编号
给一个选择集加列的方式
(1) case……when适用于有几个固定值的列的情况。
(2) left join 列的值不固定
(3) 通过用户自定义的函数
虽然左联接的效率比使用自定义函数的效率要高,但是在实际项目中性能的差别并不大,所以一般在实际项目中,为了方便,多数情况使用函数。
数据库系统中的dbo.student这个库,其中dbo类似于Java中的package的概念,在sql server中,它叫做schema,注意这里的schema和xml中的schema的区别。这里的schema实际上的一个名称空间。
我们使用sa或者administrator的时候,由于这两个用户都是管理员帐户,对dbo拥有权限,因此我们不用专门指定dbo这个名称空间。
视图
视图可理解为一个select语句的结果集
创建视图的语句:
Create View View2 as select * from Student
查询视图的语句:
Select from View2
基(本)表:视图所依赖的表
视图的实质:对基表的过滤。
如果视图中包含基表的主键,则该视图可以用update更新,否则视图不能更新。
视图与存储过程的区别:存储过程中可以包含多个SQL语句,而视图中只有一个
视图的用处:
(1) 将复杂的select语句用简单的方式呈现给用户。
(2) 一张表在一直存在的,如何让拥有不同权限的人查看到不同的数据?可以分别给他们呈现不同的视图。
(3) 隐藏基表的结构
依仗水平分区的多记录表,将数据存放在不同的位置,创建几个结构一样的基本,再用视图联接这些表。
事务:
事务解决的问题?
事务执行的原理:判断@@error<>0,如果不等于,则事务回滚
Begin Tran
……
If @@error<>0
Rollback Tran
……
Commit Tran
锁定(Lock)
锁是用来解决因为并发带来的多种问题的方案。
一个数据库不会对整张表加锁,SQL的早期是对一个页(8KB)进行加锁,目前主流的数据库都可以做到对行进行加锁。
锁定级别:表级,页级,行级锁定。
隔离级别的概念,有四种隔离级别。
锁的类别:独占锁(排它锁)、共享锁、更新锁,其中更新锁是用来防止死锁的。
锁超时:将锁释放
减少死锁的方法:
1.尽可能按照同一个进行操作
2.不要将事务做得太长,应该分级回退(嵌套事务)
编程实现中的锁定:保留以前的记录,不更新别人已经更新的记录。
悲观锁和乐观锁的概念,它们的区别在于where后面的条件。
Timestamp标识某行的内容是否做过修改,使用该类型可以不必使用很多的where条件。
触发器:
Java编程的事件引出,实际上就是一段程序,引出某个动作。insert、update、delete时,触发一段代码。
创建触发器的语句:
Create Trigger TriInsertLockTest on LockTest for insert as……
触发器的一个实际用处:论坛每发一个新帖,数据库插入记录,此时更改本版块的最新发帖时间。
SQL中内部怎样实现insert、update、delete语句?如果要insert一条记录,首先将用到的页加载到内存,再写入buffer和日志,,最后再更新到磁盘。将数据写入磁盘后,内存中的数据不再是脏数据,可以理解为将数据写入临时表或表级变量,约束是在写磁盘之前加入的。触发器是在写到临时表(inserted)后触发,在insert的事务内,可以从这张表中取数据。
触发器是用来对业务进行逻辑检查的。它和check的区别是什么?check只能引用本表中的数据进行检查,而触发器可以引用外部的数据。
我们可以rollback系统的事务,而触发器是在一个系统事务中的,因此可以使用rollback Tran来进行回滚。
除了inserted表,还有一个deleted表,想想为什么没有updated表?
分享到:
评论

相关推荐

    日记工具,日记软件,个人日记

    本软件起到了一个个人日记的功能。 日记记录的内容全部存放在tool\5b\artdiary.gtz下面,如果记录数量比较多的情况下,可以手工备份此文件,以免以外情况下丢失数据。 日记中的心情与天气,可以选择,也可以手工...

    唐骏日记,唐骏日记,唐骏日记

    《唐骏日记》是著名企业家、职业经理人唐骏的一部个人著作,它记录了唐骏在IT行业的职业生涯和个人成长的心路历程。唐骏作为中国IT界的标志性人物,他的经历和见解对于理解中国互联网和科技产业的发展具有重要的参考...

    Android代码-移动日记本功能包含传统的日记本和音频日记视频日记实现私密日记和普通日记。.zip

    总的来说,"Android代码-移动日记本功能包含传统的日记本和音频日记视频日记实现私密日记和普通日记"这个项目涵盖了Android应用开发的多个方面,包括UI设计、数据管理、多媒体处理、安全性和测试等核心知识点。...

    微信小程序 小熊的日记 (源码)

    微信小程序 小熊的日记 (源码)微信小程序 小熊的日记 (源码)微信小程序 小熊的日记 (源码)微信小程序 小熊的日记 (源码)微信小程序 小熊的日记 (源码)微信小程序 小熊的日记 (源码)微信小程序 小熊的日记 (源码)微信...

    Jolin的24堂英文日记课

    Jolin建议选择适合自己水平的文章进行阅读,比如《Jolin的24堂英文日记课》中的文章,每篇文章都经过精心挑选,既包含了实用的日常表达,又有丰富的文化背景介绍。通过阅读这些文章,不仅能学到地道的英语表达,还能...

    SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2

    SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2SAP 开发日记2

    爱日记多用户网络日记

    9、日记站后台管理目录为a,访问请直接用"域名/a",a目录可随意命名。建议后台管理目录。 10、日记后台管理分系统设置、管理员密码、用户管理、用户密码、日记管理和推荐管理几大块。 11、日记演示站 [七日记...

    (青春日记)多用户网络日记

    9、日记站后台管理目录为a,访问请直接用"域名/a",a目录可随意命名。建议后台管理目录。 10、日记后台管理分系统设置、管理员密码、用户管理、用户密码、日记管理和推荐管理几大块。 11、日记演示站 [ 青春日记],如...

    Dear Diary 桫椤日记

    这是一款仿真日记,也是我个人认为最优秀的日记。(用过效能日记等日记软件,但没有一款符合我心意,惟独这款日记深得我心) 喜欢写日记的人可以尝试,相信你们也会认同我的观点并喜欢上这款日记。 这是我最爱的一...

    DBA日记--署名

    在5月24日的日记中,作者讲述了重返沈阳处理某个特定问题的经历,这可能涉及到远程支持和故障排查的技巧。5月26日,作者提出了针对某一系统性能优化的方案,展示了DBA如何分析性能瓶颈并提出改进措施。5月27日,作者...

    微信小程序源码 小熊的日记(学习版)

    微信小程序源码 小熊的日记(学习版)微信小程序源码 小熊的日记(学习版)微信小程序源码 小熊的日记(学习版)微信小程序源码 小熊的日记(学习版)微信小程序源码 小熊的日记(学习版)微信小程序源码 小熊的日记(学习版)...

    研发经理的日记(日记3篇)

    在阅读了这位研发经理的三篇日记后,我们可以从中提炼出一些关于软件开发与管理的重要知识点,这将对任何在IT行业中从事项目管理和技术领导的角色都有所启发。 首先,日记中可能涉及到了“代码”这一核心话题。作为...

    SAP 开发日记 SAP 开发日记SAP 开发日记

    SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记SAP 日记

    日记人asp多用户网络日记源码v3.8

    日记人多用户网络日记程序是一个漂亮精致的网络日记本,它界面美观、功能丰富、使用方便,包含了用户登录注册、日记本排行、日记搜索、日记管理、留言评论等功能,还有音乐播放、时钟日历、愿望小寺等小功能。...

    小程序源码 小熊的日记 (代码+截图)

    小程序源码 小熊的日记 (代码+截图)小程序源码 小熊的日记 (代码+截图)小程序源码 小熊的日记 (代码+截图)小程序源码 小熊的日记 (代码+截图)小程序源码 小熊的日记 (代码+截图)小程序源码 小熊的日记 (代码+截图)小...

    (青春日记)多用户网络日记 v3.9.rar

    9、日记站后台管理目录为a,访问请直接用"域名/a",a目录可随意命名。建议后台管理目录。 10、日记后台管理分系统设置、管理员密码、用户管理、用户密码、日记管理和推荐管理几大块。 11、日记演示站 [ 青春日记],...

    (微信小程序毕业设计)小熊日记(源码+截图).zip

    (微信小程序毕业设计)小熊日记(源码+截图)(微信小程序毕业设计)小熊日记(源码+截图)(微信小程序毕业设计)小熊日记(源码+截图)(微信小程序毕业设计)小熊日记(源码+截图)(微信小程序毕业设计)小熊日记(源码+截图)(微信...

    日记工具 记录生活点滴

    9. **源码获取与定制**:根据描述中提到的“需要源码请联系”,意味着这个日记工具可能是开源的,用户或开发者可以自定义功能,或者为项目贡献代码。 10. **开发技术**:制作这样的日记工具可能涉及到的技术包括...

Global site tag (gtag.js) - Google Analytics