2 youyiyang youyiyang 于 2015.07.21 15:25 提问

数据库管理和使用需要掌握哪些要点?

我接到一个关于数据库管理的项目,项目经理要求我掌握以下内容:
一.数据库设计管理人员
1. 根据要求设计关系数据库或对已有关系数据库改动。
2. 设计数据库运行规则:
区分不同用户,注册,根据实际需要,赋予不同权限,组织依权上传、下传及处理数据。
保证安全性。
掌握云服务器的利用。
3. 利用数据库数据,设计对用户适合的数据服务。
4. 指导数据库日常运行维护。

请问大家我该从哪里开始做起?

平台是 .NET + MS SQL Server

5个回答

limq1988
limq1988   2015.07.21 18:05
已采纳

老员工多年的经验分享给你,望采纳。所有的数据库管理员基本上都是相同的工作项目和方法,但是这个职位对不同的人意味着不同的意义。一个小的软件开发工作室和一个分工高度明细的大公司相比,DBA的职责来得更加宽泛一些。一个公司,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库(有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊),就需要确定是否雇佣一个或几个DBA。知道DBA这个职位有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。

DBA的一些职责:

安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。
保证数据库的使用符合知识产权相关法规。
控制和监控用户对数据库的存取访问。
监控和优化数据库的性能。
制定数据库备份计划,灾难出现时对数据库信息进行恢复
维护适当介质上的存档或者备份数据
备份和恢复数据库
联系数据库系统的生产厂商,跟踪技术信息。

DBA的个性特点

  很多时候管理人员都忽视了DBA的个性特点,他们只关注DBA的技术能力。实际上,上面谈到的每个职责都意味着:DBA需要跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员。这说明:DBA必须具有下面的个性特点:

自信心
好奇心
坚韧的意志力
老练
自我驱动
注意细节

为什么这些个性特点很重要呢?

  我就有几个缺乏自信心的部下,他们反复问我一些事无巨细的问题,他们没有信心哪怕做最小的决定。他们也缺乏工作的主动性。这对于初级DBA来说可能问题不太大,但对于那些高级DBA来说,如果他们缺乏自信心,他们又可以依赖谁帮他们决策呢?在DBA的面试中,即使你不能回答某个技术问题,你也要表现出足够的自信心。最致命的不是不知道问题的答案,而是不知道从哪儿得到答案。

  几乎所有的数据库系统都在不停地更新。但并不是所有的更新都有技术文档。对于好的DBA来说,好奇心是必需的。没有好奇心和求知欲的DBA总是等待有人告诉他们答案。而一个求知欲强的DBA将安装最新版本的数据库系统,并立即开始搜寻那些哪怕是细微的功能和性能上的差异和增强,从而改进自己的工作。应试时一个必然问及的问题是:你手头有哪些参考资料?你如何使用它们?毫无疑问,如果你只回答了数据库的文档,或者你甚至没有读过他们,你的"股票市值"将大大下降。好奇心会驱使DBA们理解数据字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。

  DBA常常会碰到棘手的问题。寻找答案是一个需要坚韧意志力、可以经受摔打的个性特点。我常常在一些讨论组或者论坛上看到DBA们提出的问题,这些问题往往是提问者自己可以解决的,如果他们具有坚韧的个性特点,并努力寻求问题的答案。

  自我驱动对每个人都是很重要的,对DBA尤其如此。DBA要能想办法使问题出现,而不是等待问题的出现。自驱力强的DBA常常设法取得或者自己写一些必要的脚本(Script)来监控包括数据表大小(Table Size)、表空间使用(Tablespace Usage)等项目,这些项目如果被忽视,他们将遇到麻烦。应试的时候DBA们常常被问及在PL/SQL、SQL或者SQL*PLUS方面的经验,这些问题将把你从从来没有编写过自己需要的脚本的那些DBA们区分开。

  不用说和用户,就是和程序员和管理人员打交道,也需要你足够老练。一个一点不会处事的DBA不会为你做什么好事,只会在你的部门点燃敌对情绪的烈火。老练是这样一种能力,你劝告某个人到地府去,哈哈,最后这个人怀着渴望的心情去了。很多时候,开发者、管理者、用户,他们会提出毫无道理的需求,DBA们需要老练地引导、修正它们的要求,说服他们。在应试时,你的应对就很能说明你是否老练。

tianwenfenghaha
tianwenfenghaha   2015.07.21 15:51

我可能理解的不太透彻,把自己的想法阐述下,你参考参考,就是混个回复

1.先把数据库搭建好,用户表、角色表,,另外关于第三点对用户适合的数据服务这点,你也可能要建个表,你可以写很多的存储过程,一个存储过程就是一项数据服务,还要有个角色-服务表。这样用户表有个角色字段规定了用户角色,角色-服务表规定了不同角色的权限。我只是提一些意见,表设计还是得慎重考虑的。

2.数据库管理的项目肯定得有通过代码修改表结构的功能,你得去查查这方面的技术。

3.指导数据库日常运行维护我没太理解,感觉就是对表结构的修改嘛

Kiss_Mark
Kiss_Mark   2015.07.21 15:54

先从表设计开始,分析出表之间的关系,整理出所有表,先设计表结构。

youyiyang
youyiyang   2015.07.21 16:00

@Kiss_Mark 还能具体点吗?

oyljerry
oyljerry   Ds   Rxr 2015.07.21 17:25

先学习数据库表的基础知识,了解如何设计数据库表,多个表之间关系如何定义,联系

然后就是创建数据库表,导入数据,导入数据也有很多方法,通过程序,sql语句,文件导入等

数据库日常维护就是管理数据库性能监测,发现数据库内存,CPU,I/O等异常信息,并同时要分析异常可能产生的原因,解决问题
还有数据库日常备份,异地同步等。

Csdn user default icon
上传中...
上传图片
插入图片