一般数据库工程师的主要工作包括:数据备份;数据库日常维护;数据结构方面的设计;SQL调优;解决由于数据库操作所造成的系统性能问题;给开发人员开展一些数据库方面的培训。那么成为一名合格的数据库工程师需掌握哪些知识技能呢?
一、数据库应用系统分析及规划:1.软件工程与软件生命周期。 2.数据库系统生命周期。 3.数据库开发方法与工具。 4.数据库应用体系结构。 5.数据库应用接口。
二、数据库设计及实现: 1.概念设计。 2.逻辑设计。 3.物理设计。 4.数据库对象实现及操作。
三、数据库存储技术:1.存储与文件结构。 2. 索引技术。
四、并发控制技术:1.事务管理。 2.并发控制技术。3.死锁处理。
五、数据库管理与维护:1、数据完整性。 2、数据库安全性。 3、数据库可靠性。 4、监控分析。 5、参数调整。 6、查询优化。 7、空间管理。
六、数据库技术的发展与新技术:1、分布式数据库。 2、对象数据库。 3、并行数据库。 4、数据仓库与数据挖掘。
目前主流的数据库无论规模如何,例如Access(这个现在基本没人用),MySQL,Microsoft Server SQL,还是大规模的Oracle,都是关系数据库,我这么说很抽象,你可能不知道什么是关系数据库,所以你应该先学习数据库系统概论,明白其存在的意义,了解其在计算机系统当中的地位,然后再进行进一步探究,前沿基础课我想应该是离散数学。
因为涉及关系演算,关系代数,以及一系列抽象概念都和离散数学有关联,将来进行高效率的嵌套查询、修改、删除、增添数据,都是涉及这些内容,不过要是面向小型的开发,效率也无关紧要,可以使用一些可视化的软件建立维护数据库,但是使用的过程中难免会遇到不理解的问题,如实体完整性约束、表的主码、外码确立,安全性考虑、范式理论,都比较难以理解,所以还是建议先从离散数学看起,然后再看数据库系统概论类的书籍,然后选择一款规模较小的如MySQL进行SQL语言的实践,再往后就是数据库与软件或网络如J2EE技术之间的关联,还要面对诸多问题,总之走一步算一步,步步为营,急不来,祝学习成功~! 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快! Vae团队招人!!!欢迎各位加入!!!走过路过不要错过!!!迅猛发展中!!。
一 事务处理介绍 事务是这样一种机制,它确保多个SQL语句被当作单个工作单 元来处理。
事务具有以下的作用: * 一致性:同时进行的查询和更新彼此不会发生冲突,其他 用户不会看到发生了变化但尚未提交的数据。 * 可恢复性:一旦系统故障,数据库会自动地完全恢复未完 成的事务。
二 事务与一致性 事务是完整性的单位,一个事务的执行是把数据库从一个一 致的状态转换成另一个一致的状态。因此,如果事务孤立执行时 是正确的,但如果多个事务并发交错地执行,就可能相互干扰, 造成数据库状态的不一致。
在多用户环境中,数据库必须避免同 时进行的查询和更新发生冲突。这一点是很重要的,如果正在被 处理的数据能够在该处理正在运行时被另一用户的修改所改变, 那么该处理结果是不明确的。
不加控制的并发存取会产生以下几种错误: 1 丢失修改(lost updates) 当多个事务并发修改一个数据时,不加控制会得出错误的结 果,一个修改会覆盖掉另一个修改。 2 读的不可重复性 当多个事务按某种时间顺序存取若干数据时,如果对并发存 取不加控制,也会产生错误。
3 脏读(DIRDY DATA),读的不一致性 4 光标带来的当前值的混乱 事务在执行过程中它在某个表上的当前查找位置是由光标表 示的。光标指向当前正处理的记录。
当处理完该条记录后,则指 向下一条记录。在多个事务并发执行时,某一事务的修改可能产 生负作用,使与这些光标有关的事务出错。
5 未释放修改造成连锁退出 一个事务在进行修改操作的过程中可能会发生故障,这时需 要将已做的修改回退(Rollback)。如果在已进行过或已发现错 误尚未复原之前允许其它事务读已做过修改(脏读),则会导致 连锁退出。
6 一事务在对一表更新时,另外的事务却修改或删除此表的 定义。 数据库会为每个事务自动地设置适当级别的锁定。
对于前面 讲述的问题:脏读、未释放修改造成的连锁退出、一事务在对一 表更新时另外的事务却修改或删除此表的定义,数据库都会自动 解决。而另外的三个问题则需要在编程过程中人为地定义事务或 加锁来解决。
三 事务和恢复 数据库本身肩负着管理事务的责任。事务是最小的逻辑工作 单元,在这个工作单元中,对数据库的所有更新工作,要么必须 全部成功,要么必须全部失败(回退)。
只要应用程序指定了某 段程序为一个事务并做了相应的处理(提交或回退),数据库系 统会自动维护事务本身的特性。 四 ORACLE数据库的事务定义 ORACLE事务从COMMIT、ROLLBACK、连接到数据库或开始第一 条可执行的SQL语句时开始,到一条COMMIT、ROLLBACK语句或退出 数据库时结束。
如果在一个事务中包含DDL语句,则在DDL语句的 前后都会隐含地执行COMMIT语句,从而开始或结束一个事务。 如果一个事务由于某些故障或者由于用户改变主意而必须在 提交前取消它,则数据库被恢复到这些语句和过程执行之前的状 态。
利用ROLLBACK语句可以在COMMIT命令前随时撤消或回退一个 事务。可以回退整个事务,也可以会退部分事务,但是不能回退 一个已经被提交的事务。
回退部分事务的ROLLBACK命令为: ROLLBACK to savepoint 存储点名 存储点是用户放入事务中的标记,用来表示一个可被回退的 位置。存储点通过在事务中放入一个SAVEPOINT命令而被插入。
该 命令的语法是: SAVEPOINT 存储点名 如果在ROLLBACK语句中没有给出存储点名,则整个事务被回 退。 五 SYBASE数据库的事务定义 SYBASE通过使用BEGIN TRANsaction和COMMIT TRANsaction命令指 示SQL将任意数目的语句作为一个单元来处理。
ROLLBACK TRANsaction 命令则允许用户恢复到事务的开始,或恢复到事务内部已经被用SAVE TRANsaction命令定义的存储点上。 BEGIN TRANsaction和COMMIT TRANsaction能够包含任意数目的SQL 语句和存储过程,方法很简单: BEGIN TRANsaction [事务名称] COMMIT TRANsaction 如果一个事务由于某些故障或者由于用户改变主意而必须在提交 前取消它,则数据库被恢复到这些语句和过程执行之前的状态。
利用ROLLBACK TRANsaction命令可以在COMMIT TRANsaction命令 前随时回退一个事务。可以回退整个事务,也可以回退部分事务,但 是不能回退一个已经被提交的事务。
ROLLBACK TRANsaction命令为: ROLLBACK TRANsaction [事务名|存储点名] 存储点名是用户放入事务中的标记,用来表示一个可以被回退的 位置。存储点名通过在事务中放入一个SAVE TRANsaction命令而被插 入。
该命令的句法是: SAVE TRANsaction 存储点名 如果在ROLLBACK TRANsaction中没有给出存储点名或事务名,则 事务被回退到批处理中的第一个BEGIN TRANsaction语句处。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.703秒