今天由袁龙友老师讲解SQL Server数据库,袁老师将通过SQL Server来向各位学员传授数据库设计的思想,这也是在软件开发过程中最重要的一个环节。在现代的软件开发中,尤其是B/S结构的开发,几乎所有的编码都是围绕着数据库来进行的。所以,好的数据库设计,是整个软件项目成败的关键。下面是方老师和张挺等记录的培训日记:
袁老师说,一个不好的数据库设计,在当时是看不出来的,只有在进行开发的过程中,才知道会遇到这样和那样的问题,到最后,又不得不修改表结构……以前已经进行的编码又要推翻……费时费力。可见,数据库的设计,在软件开发过程中的重要性是不亚于整个系统的架构的。
袁老师说的好:“设计出好的数据库,基础理论知识固然重要,但是经验更重要。”事实也是如此,学完SQL语句的基本内容,只需要两天,但是要根据这些语句来设计出性能优越的数据库,可能需要二十年经验的积累。这也正如中国人学英语,26个字母很快可以学会,但是,正是这看似简单的26个字母的组合,却使得无数英雄尽折腰。当然,目前对学员来说,最重要的还是练习,就算是很差的设计,只要是自己在键盘上敲出来,就是好样的。谁也不能保证一开始就设计出考虑很周全的数据库,袁老师在课堂上也举出一些自己或者自己看见过的设计失败的例子。
数据库的概念:数据库,顾名思义,就是用来存储数据的仓库。数据库系统的本质:所谓的一个系统,实际上就是一个程序。数据库的分类:关系型数据库和非关系型数据库,大型数据库和桌面数据库。关于SQL语句:SQL语句是一个标准,但是各个厂家的实现又不尽相同。所以又分出了T-SQL,PL-SQL等。主键存在的意义,备选主键列:如身份证号
数据行的存放:每页大小只有8kb,8页称为一个盘区,且一行记录不能跨页,那我们为什么能将很大的一个文件存储进数据库呢?
文件组的作用:
日志的相关知识:(很重要)日志文件记录每一步操作。日志文件与数据库文件应放置到不同磁盘上。备份截断日志,Archive模式。日志的本质:记录了文件操作的过程,并且还记录了受这些操作所影响到的数据。具体的说,如果是insert语句,则记录该语句即可。如果是delete语句,则不仅需要记录语句,还需要记录影响的数据。如果是update语句,则需要记录语句以及修改前和修改后的数据。记录日志的流程:1.发送请求。2.把相关的数据读入缓冲区。3.在日志文件中记录操作的过程和参数。4.修改缓冲区的内容。5.检查程序向数据库写入已提交的事务(进行一次或者多次数据修改)。
日志传递:将日志文件定期的传到不同的机器上。备份数据库:日志是滚动的,写一段会将前面的覆盖掉。(Archive模式)SQL Server2000采取的是截断方式,生成备份。
索引的相关知识:为什么要引入索引的概念?索引解决了什么问题,桥梁监测的传感器数据不用加索引,因为全部是插入数据。如果字段超过25位,那在做索引的意义就不大了。字段的可选值太少,也无做索引的必要,例如,性别只有男女。建索引之后可能出现的潜在问题:医院挂号的故事,索引页很稀疏,索引页整理时导致页面调整,为此,引出了填充因子。
索引重建:数据库维护时,每过一段时间都需要根据填充率来维护索引。
安装SQL Server中的问题:指定实例的名称(实例名),默认的实例名为机器名。安装时如果不使用默认的实例名,程序中的连接串要加上该实例名。安装时一般不允许有多个实例(若有多个CPU时,可以考虑)。 SQL Server2005的安装中,选择windows模式和混合模式的区别。SQL Server2005和Oracle中都有Schema的概念(与XML中的Schema是不一样的),可以将其理解为觉得,或者虚拟的用户。其中,SQL Server中一个实例中有多个库,而Oracle中只有一个。(与SQL Server2000差别较大)在SQL Server中的表名形如dbo.table_1样式,其中dbo就是一个Schema。关于Schema的更多内容,自己查看SQL Server的帮助文档。
创建数据库时除了指定库名,还可以指定文件组名与数据库大小等信息所有的SQL语句一次性的发给SQL服务器,以go命令为分界符,每遇到go命令执行一次,但是在java程序中,JDBC编程的代码不能使用go命令。
数据库文件在管理系统中,不能拷贝,如果要拷贝,必须分离(dtouch命令),要加到管理系统中再用“附加”或者备份——还原。
自动增长列的实现原理:专门有一张隐含的表来记录每条记录的序号。
NULL的本质:它不表示0也不表示“null”字符串,它表示字段中没有任何内容,取值时要注意判断内容是否为空。
SQL Server中用bit来表示其他数据库中的boolean。
(1) true=1,false=0,在java中的值是什么可能与具体的类型有关系,如果getString与getLong得到的结果不同。
(2) 在数据库中定义的float类型,在java中取的值一样吗?需要通过实验验证。
(3) char/varchar/nchar/nvarchar都采用unicode字符编码,例如,填写籍贯时使用varchar(20)表示可以存20个英文字符,html(表单验证、字符长度判断中英文不同,这时使用nvarchar可以直接判断长度不大于20)
(4) datetime的值从1970年开始计算,如果用它来表示公元前的时间,是没有办法做到了。举了一个文物保护系统的例子,最后多用了一个字段来判断是否是公元前,再用一个int来保存年份。
(5) 如果需要保存一个变量,如人的年龄,今年和明年不一样,如何解决?应该使用计算列,例如:select datediff(yyyy,’1980-01-01’,getDate());其中,填写公式时,如果公式中用到的变量与系统关键字同名,应用[]括起来,如[date]表示一个名字叫date的变量。
分享到:
相关推荐
- 实习阶段:8月29日至10月16日,进行课堂教学,开展班级工作,至少编写4个教案,完成8个课时的教学,开展教育评价和公开课,做好实习日记记录。 在整个实习过程中,学院会定期组织人员对实习情况进行检查和指导,...
实习内容 3 2.1用友U8产品的学习 3 2.1.1软件应用领域 4 2.1.2用友ERP-U8应用的系统运行环境: 5 2.1.3用友ERP-U8的系统安装 6 2.2用友公司结构 9 3实习心得 10 4 实习日记 10 参考文献 12 5 附录: 12 (二)用友...
2. 人资部每月 16 日之前转化为电子版,统一管理。 七、检查和考评: 1. 人资部定期对各部门的工作日志执行情况进行检查。 2. 检查结果将作为部门和个人考评、晋升、加薪、评优等的重要参考依据。 八、范文和修改...
9. 会议签到表:记录参会人员,确认会议参与度。 10. 档案资料移交表:在资料交接时使用,确保信息完整无遗漏。 11. 管理评定质量改进措施记录表:记录质量评估结果,提出并记录改进措施。 12. 年度员工培训工作...
根据给定文件“参考资料-9-7电气工程施工监理.doc”的内容,本文将详细解析其中涉及的关键知识点,主要包括电气工程施工监理程序的目的、适用范围、引用文件、职责分配、资格与培训要求,以及各施工阶段的监理依据、...
17. 配合完成临时性工作,服从休息日安排。 18. 每月提交工作总结给上级。 **助理岗位职责:** 助理角色在支持销售团队的同时,也负责行政管理和后勤保障,包括: 1. 贯彻执行和监督公司行政制度。 2. 销控管理,...
1. **工人及平安卡留底**:这是对现场工人身份和安全资格的确认,确保所有工人都通过了必要的安全培训,并持有有效的安全卡。 2. **特种作业人员上岗证复印件**:对于钢筋工、焊工、机械操作工等特殊工种,他们的...
24. **统计月考勤**:每月汇总考勤数据,便于管理和考核。 25. **督查对象形像**:可能涉及监控系统,确保早教中心的安全和规范运营。 26. **卫生中心检查**:定期检查环境卫生,确保儿童健康安全。 27. **消毒...
该测试计划由河北师范大学软件学院16级测试方向的刘海迪于2018年12月编写,旨在确保明心社工事务所企业网站的质量与稳定性。测试的主要目的是确定测试内容、明确需求、制定测试策略、分配资源、设定测试时间并列出可...
1. 合法出版活动:合法出版行为需要遵循相关法律法规,如大学生小陈出版日记的行为是合法的,而个人私自印刷和销售书籍(如编辑张某和公司职员郭某的行为)则是非法的。大学教授李某在博客上发表文章则属于个人表达...
9. 违章者参加学习班登记表:对于违反安全规定的行为,记录违章者的培训情况,强化安全意识。 10. 责令停止违法(违章)行为通知书:官方发出的通知,要求立即停止不合规的行为。 11. 施工组织设计(方案)审批表...
9. 编制报表:每月按时编制会计报表,确保数据准确。 10. 应收应付管理:及时清理应收、应付帐款。 11. 成本控制:根据工程预算进行成本控制。 12. 项目报帐:督促项目部按时报帐。 13. 原始票据处理:及时、准确...
16. **现代教师角色观**:现代教师不仅是知识的传递者,还是学习的引导者、学生发展的促进者、课程的开发者以及社区的参与者。 17. **教师成长途径**:包括学习理论知识、实践经验、反思教学、同伴交流和专业发展...
1. **出版活动合法性**:合法出版活动需遵循国家的法律法规,如案例中的A选项,大学生将自己的日记出版成书是合法的;而C、D选项涉及未经许可的复制和销售行为,违反了版权法。 2. **出版物的特殊性**:出版物的...
- **点检日记**:记录日常点检的情况。 - **设备台账**:设备的基本信息记录。 - **月度工作计划**:下一阶段的工作安排。 - **购买计划**:采购备件的计划。 - **缺陷报表**:汇总的缺陷情况报告。 - **定检...
**9.《建设工程特殊工种人员上岗证审查表》** - **意义**:保证特殊工种作业的安全性。 - **内容**:涉及电工、焊工等特殊工种人员的信息。 **10.《新工人进场三级安全教育记录》** - **目的**:增强新员工的安全...
继2008年9月第一款基于Android平台的手机G1发布之后,预计三星、摩托罗拉、索爱、LG、华为等公司都将推出自Gflg~Android平台的手机,中国移动也将联合各手机厂商共同推出基于Android平台的OPhone。按目前的发展态势...
- **工程月报**:总结每月工程状态,评估进度和质量。 - **工程竣工总结**:回顾整个项目,总结经验教训。 4. **监理单位管理**: - **监理人员**:确保监理团队的专业性和责任性。 - **监理实施细则**:规定...