`
izuoyan
  • 浏览: 9224382 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

9月17日培训日记

阅读更多
今天继续由杰龙标软技术总监讲解Sql Server数据库:
数据的完整性与约束:
用“宁可错杀一百,也不放过一个”和“一粒老鼠屎,坏了一锅粥的例子”来说明保持数据完整性的目的。就是宁可不让数据进去,也要保持进去的数据的正确性。
其中数据的不完整性又包括:
(1) 实体信息(行)导致的不完整。通过定义主键的方式来解决。
(2) 域(列)信息导致的不完整,例如输错了生日的情况,可以用表达式和Check约束等方式来解决。
(3) 表间引用的不完整性(很重要)。可以通过定义外键等方式解决。
(4) 业务规则的不完整性。可以通过程序,脚本和触发器等方式解决。
什么是约束?约束就是保证数据完整性的方式。
约束分为表级约束和列级约束。
实体完整性:
(1) 主键约束 (2)标识列 (3)唯一索引
域完整性:
(1) 指定相应的数据与宽度 (2)非空约束 (3)默认值 (4)Check约束
引用完整性:(表设计中用到的最多)
(1) 引用约束(外键约束)
一个表中的列要引用别人的列(这个列叫外键,别人的列叫主键),外键所在的表叫外键表,主键所在的表叫主键表。
一个例子:某公司招了一名员工,但是尚未给其安排部门,但是现在想将其先加入员工数据库中,如何解决?可设计员工的部门id允许为空。若要将一个现有的部门解散,但是又解雇员工,而又要在数据库中显示出最新的调整,如何解决?可以对删除外键的操作做设置,删除部门id,即主键表中的列,可将外键表中相应的列做几种处理:设置为null,设置为默认值,无操作,层叠(删除所有的记录),级联(删除相应的记录)。update和insert语句也有相应的操作。
SQL Server服务器端的设置:
1. 确认验证是混合验证模式(属性——安全性)
2. 创建帐号,安全性——登陆——创建帐号
a.创建时指定默认的数据库b.给一个角色(如系统管理员等)
c.用户映射,给用户访问数据库的权限,默认的数据库不一定有访问权限
通过脚本建数据库的一些细节:一个脚本,如果需要保证它是能够多次执行的(注意和一次执行的区别),是需要进行数据库或者表是否存在的判断的。
如果要删除一个包含外键关系的表,删除顺序应该是先删外键表,再删主键表。如果互相引用,怎么办?用select * from sys.all_objects查询,type为f,即为外键约束类型。
如果要将互相关联的表删除,应该先删除它们之间的引用关系。
例子:
if exits (select * from sys.all_objects where name=’FK_abc’ and type=f)
alter table student drop FK_abc
上面的语句删除了一个名为FK_abc的引用。
稍复杂的查询语句:
将查询的结果放入新表:select name,birthday into users2 from users
delete删除表的过程:删除所有的页,删除索引(如果有的话),日志是必须删除的,并且删除表时,需要将所有的记录写日志,当表的记录很多时,操作会很慢,如果不希望对删除操作记录日志,可使用truncate table user2语句。如果要完全删除表,则使用drop命令。
将查询结果放到存在的表中:inser users2(name,birthday) select name,birthday from users
SQL Server2000中,top后面跟常量,而SQL Server2005中,top后面可以跟变量。top是SQL Server中专用的,Oracle中没有。
联合查询union合并结果集并且去掉重复(具体的执行顺序有待确认)
笛卡尔乘积:结果的列:参加乘积的表之和
结果的行:参加乘积的表之积
在写笛卡尔乘积相关的sql语句时,应该先用条件做过滤,再做笛卡尔,效率会比较高
内联接:先做笛卡尔乘积,再选出符合条件的记录。
左联接:做完笛卡尔乘积,除了挑选公共的记录,还会挑出左表中未被匹配的记录。(即左表中的记录,无论匹配与否,都会被挑出,但是记录数不能简单的理解为左表的数,应该是大于或者等于左表数)
右联接:做完笛卡尔乘积,除了挑选公共的记录,还会挑出右表中未被匹配的记录。
若要更改左右联接,只需要更改两表的顺序即可。
交叉联接(不重要):就是笛卡尔乘积
子查询:在查询内嵌套查询,一般来说,都可以用联接来代替,并且现在数据库的发展趋势是逐渐废除子查询,所以尽量不要使用。
分组 group
原理:
1. 分组条件,根据一列或几列来分
2. 聚合函数
分组后,要显示符合某条件的记录,使用having关键字
where与having的区别:where过滤结果集,而having过滤组
例子:select DepID,count(*) from users group by DepID having DepID<>8
分享到:
评论

相关推荐

    质量记录表格汇编.doc

    9. 会议签到表:记录参会人员,确认会议参与度。 10. 档案资料移交表:在资料交接时使用,确保信息完整无遗漏。 11. 管理评定质量改进措施记录表:记录质量评估结果,提出并记录改进措施。 12. 年度员工培训工作...

    值班管理制度.doc

    - 时间设定为周六、周日及法定节假日,通常为早上9:00至下午17:30。 - 值班地点为公司的两个办公室。 2. **值班要求** - 全体员工都有值班义务,值班表由行政人事部制定并提前通知。 - 值班期间需按时打卡,...

    专题资料(2021-2022年)地产售楼处岗位职责与管理制度.doc

    17. 配合完成临时性工作,服从休息日安排。 18. 每月提交工作总结给上级。 **助理岗位职责:** 助理角色在支持销售团队的同时,也负责行政管理和后勤保障,包括: 1. 贯彻执行和监督公司行政制度。 2. 销控管理,...

    参考资料-9-6给排水工程施工监理.doc

    根据给定文件“参考资料-9-6给排水工程施工监理.doc”的内容,我们可以提炼出以下关键知识点: ### 一、概述 #### 1.1 文件基本信息 - **标题**:“参考资料-9-6给排水工程施工监理.doc” - **描述**:同标题 - **...

    安全资料主要要做资料汇总.doc

    1. **工人及平安卡留底**:这是对现场工人身份和安全资格的确认,确保所有工人都通过了必要的安全培训,并持有有效的安全卡。 2. **特种作业人员上岗证复印件**:对于钢筋工、焊工、机械操作工等特殊工种,他们的...

    早教中心规章制度.doc

    24. **统计月考勤**:每月汇总考勤数据,便于管理和考核。 25. **督查对象形像**:可能涉及监控系统,确保早教中心的安全和规范运营。 26. **卫生中心检查**:定期检查环境卫生,确保儿童健康安全。 27. **消毒...

    专题讲座资料(2021-2022年)度全国出版专业技术人员职业资格考试试题中级出版专业基础知识.doc

    1. 合法出版活动:合法出版行为需要遵循相关法律法规,如大学生小陈出版日记的行为是合法的,而个人私自印刷和销售书籍(如编辑张某和公司职员郭某的行为)则是非法的。大学教授李某在博客上发表文章则属于个人表达...

    施工安全表格大全.docx

    9. 违章者参加学习班登记表:对于违反安全规定的行为,记录违章者的培训情况,强化安全意识。 10. 责令停止违法(违章)行为通知书:官方发出的通知,要求立即停止不合规的行为。 11. 施工组织设计(方案)审批表...

    小公司财务管理制度最新范本.doc

    9. 编制报表:每月按时编制会计报表,确保数据准确。 10. 应收应付管理:及时清理应收、应付帐款。 11. 成本控制:根据工程预算进行成本控制。 12. 项目报帐:督促项目部按时报帐。 13. 原始票据处理:及时、准确...

    2021年教师招聘考试题库《教师职业心理》必考点带答案解析_2.pdf

    12. **维护教师心理健康**:可以通过提供专业支持、减轻工作压力、增强团队合作、提供心理健康培训等方式实现。 13. **微格教学特点**:小步骤、程度化训练,是教师掌握教学技能的有效手段。 14. **教学反思文字**...

    专题讲座资料(2021-2022年)度全国出版专业技术人员职业资格考试试题中级:出版专业基础知识.doc

    1. **出版活动合法性**:合法出版活动需遵循国家的法律法规,如案例中的A选项,大学生将自己的日记出版成书是合法的;而C、D选项涉及未经许可的复制和销售行为,违反了版权法。 2. **出版物的特殊性**:出版物的...

    消防工程开工到竣工所需资料目录.docx

    **9.《建设工程特殊工种人员上岗证审查表》** - **意义**:保证特殊工种作业的安全性。 - **内容**:涉及电工、焊工等特殊工种人员的信息。 **10.《新工人进场三级安全教育记录》** - **目的**:增强新员工的安全...

    Google.Android开发入门与实战

    继2008年9月第一款基于Android平台的手机G1发布之后,预计三星、摩托罗拉、索爱、LG、华为等公司都将推出自Gflg~Android平台的手机,中国移动也将联合各手机厂商共同推出基于Android平台的OPhone。按目前的发展态势...

Global site tag (gtag.js) - Google Analytics