1. 数据库设计主要包括哪几部分,分别包括哪些内容
数据库设计包括六个主要步骤:
1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;
2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;
3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;
4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;
5、系统实施:组织数据入库、编制应用程序、试运行;
6、运行维护:系统投入运行,长期的维护工作。
2. 数据库系统工程师做什么工作
数据库系统工程师是指具备一定的网络结构设计及组网能力,并参与信息系统和数据库相关工作的专业人员。主要工作内容是参与应用信息系统的规划、设计、构建、运行和管理,按照用户需求,设计、建立、运行、维护高质量的数据库和数据仓库等。
3. 数据库维护的工作的主要内容是什么
数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分:
一、备份系统数据
SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。
1、备份数据库
每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。
除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:
·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出);
·每次用 sp_dboption 允许 select into/bulk 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。
卸出数据库的命令为:
DUMP DATABASE database_name
TO mp_device
database_name 是要卸出的数据库名称,mp_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。
下面一条命令用来卸出数据库 my_db :
DUMP DATABASE my_db
TO db_bk_dev
2、备份事务日志
如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4M 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。
备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。
备份事务日志的命令格式为:
DUMP TRANsaction database_name
[TO mp_device]
[WITH TRUNCATE_ONLYWITH NO_LOGWITH NO_TRUNCATE]
其中 database_name 是要备份事务的数据库名称,mp_device 是备份设备名称,仅当包含了 WITH TRUNCATE_ONLY 或 WITH NO_LOG 子句时,才可以备份到设备。
注意:如果总是用 DUMP DATEBASE (备份数据库及其日志),而不用 DUMP TRAN ,事务日志将不会刷新,而变得非常庞大。
对于 master 数据库和小型数据库每次运行 DUMP DATEBASE 之后应当运行 DUMP TRANsaction 命令刷新日志 。
下面一条命令备份数据库 db160 的事务日志到备份设备上:
DUMP TRANsaction db160
TO db_log_bk_dev
WITH TRUNCATE_ONLY
3、备份数据库及其日志间的相互作用
在至少卸出一次数据库前,卸出事务日志是毫无意义的。下图显示了备份数据库及其日志间的关系
如果在星期二下午5:01出现非硬件故障,需要做的所有工作是装入磁带5(参见下一节:数据恢复),由于磁带5是下午5:00刚备份的,因此只有备份和装入之间的一分钟内的数据损失。
但是,如果在星期二下午4:49失效会怎么样呢?在这种情况下,要装入磁带1(在星期五下午5:00的卸出)。然后,依次装入磁带2,3以及4。这样,系统将恢复到星期二上午10:00点的状态,星期二的大部分工作丢失了。此例显示了经常卸出事务的重要性。
二、万一系统失败时恢复数据库系统
如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份以及后来的事务日志备份可以恢复数据库。假设当前的事务日志存在于一个并没有毁坏的设备上,带着 WITH NO_TRUNCATE 选项的 DUMP TRANsaction 命令卸出它。
要恢复数据库按如下步骤去做:
1、如果日志存在于一个分离的设备上,用带着 NO_TRUNCATE 选项的 DUMP TRANsaction 命令卸出被毁坏的或者不可存取的用户数据库事务日志。
2、用下面的查询检查设备分配已毁坏数据库的设备使用情况。必须为同一目的赋同样的空间块。
下面的查询显示了分配给数据库 mydb 设备使用和尺寸情况:
SELECT segmap,size FROMsysusages
WHERE dbid =
( SELECT dbid FROM sysdatabases WHERE name = “mydb”)
3、检查查询的输出。在 segmap 列的 ‘3’代表数据分配,‘4’代表日志分配。size 列代表 2K 数据块的数目。注意此信息的次序、使用和尺寸部分。例如,输出为:
segmapSize
--------------------
310240//实际尺寸为:20M
35120//实际尺寸为:10M
45120//实际尺寸为:10M
31024//实际尺寸为:2M
42048//实际尺寸为:4M
4、用 DROP DATABASE 命令删除毁坏设备上的数据库。如果系统报错,用DBCC DBREPAIR 命令的 DROPDB 选项。
5、删除数据库后,用 sp_dropdevice 删除毁坏了的设备。
6、用 DISK INIT 初始化新的数据库设备。
7、重建数据库。用 CREATE DATABASE 命令从老的 sysusages 表拷贝所有的行,并包含第一逻辑设备。
对上例,命令为:
CREATE DATABASE mydb
ON datadev1=20,datadev2=10
LOG ON logdev1=10
8、用 ALTER DATABASE 命令重建其余入口。在此例中,在datadev1上分配更多的空间,命令为:
ALTER DATABASE mydb ON datadev1=2
9、用 LOAD DATABASE 重新装入数据库,然后用 LOAD TRAN 装入前面卸出的日志。
LOAD DATABASE 命令语法是:
LOAD DATABASE database_name
FROM mp_device
LOAD TRANsaction 命令的语法是:
LOAD TRANsaction database_name
FROM mp_device
卸出数据库和事务日志的缺省权限归数据库所有者,且可以传递给其他用户;装载数据库和事务的权限也归数据库所有者,但不能传递。
二、产生用户信息表,并为信息表授权;
系统维护人员的另一个日常事务是为用户创建新的信息表,并为之授权。创建表以及为表授权的方法已经在讲过,在此只将有关命令语法写出来。
·创建表的命令为:
CREATE TABLE table_name
( column_1 datatype [NULL NOT NULL IDENTITY],
column_2 ……
)
go
ALTER TABLE table_name
ADD PRIMARY KEY (column_list)
go
·删除表的命令格式为:
DROP TABLE table_name
go
·为表授权的命令格式为:
GRANT {ALLpermission_list}
ON table_name TO user_name
go
·收回权限的命令格式为
REVOKE {ALLpermission_list}
ON table_name FROM user_name
go
三、监视系统运行状况,及时处理系统错误;
系统管理员的另一项日常工作是监视系统运行情况。主要有以下几个方面:
1、监视当前用户以及进程的信息
使用系统过程:sp_who
说明:该命令显示当前系统所有注册用户及进程信息,如下表是某系统的信息。
---------------------------------------------------------------
2SleepingNULL0MasterNETWORK HANDLE
3SleepingNULL0MasterDEADLOCK TUNE
4SleepingNULL0MasterMIRROR HANDLER
SLEEP
从左向右依次显示:进程号、当前状态、注册用户名、主机名、占用块数、数据库名以及当前命令。
如果监视时发现进程总数接近最大连接数(用系统过程:sp_configure “user conn” 查看)时,应下掉不活动或无关进程,以保证系统正常运做;另外亦可监视非法用户或用户使用不属于自己使用范围的数据库等情况。
2、监视目标占用空间情况
使用系统过程:sp_spaceused
说明:该过程显示行数、数据页数以及当前数据库中由某个目标或所有目标所占用的空间。如下表是某数据库日志表的信息:
NameRow_totalreserveddataIndex_sizeunused
------------------------------------------------------------
SyslogsNot avail32KB32KB0KBNot avail
日常要监视的主要目标有:用户数据库、数据库日志表(syslogs)以及计费原始数据表等。如果发现占用空间过大,对日志表要进行转储;对其他目标则应扩充空间或清楚垃圾数据。
3、监视 SQL Server 统计数字
使用系统过程:sp_monitor
说明:sp_monitor 显示SQL Server 的历史统计数字,下表是某系统的统计数字:
Last_runCurrent_runSeconds
---------------------------------------------------------------
May 13 2000 1:27PMMay 13 2000 3:01PM5678
CPU_busyIO_busyIdle
---------------------------------------------------------------
16(6)-0%0(0)-0%5727(5672)-99%
Packets_receivedPackets_sentPacket_errors
---------------------------------------------------------------
21(17)100(97)0(0)
Total_readTotal_writeTotal_errorsConnections
--------------------------------------------------------
785(366)311(113)0(0)3(2)
上表依次给出该系统本次运行统计的上一次时间、本次时间、间隔秒数、CPU占用、IO占用、收发包情况、系统读入写出情况等信息
四、保证系统数据安全,周期更改用户口令;
为保证系统数据的安全,系统管理员必须依据系统的实际情况,执行一系列的安全保障措施。其中,周期性的更改用户口令是比较常用且十分有效的措施。
更改用户口令是通过调用系统过程sp_password 来实现的。Sp_password 的语法为:
sp_password caller_password,new_password [,loginame]
其中caller_password 是登录口令(老口令),new_password是新口令,loginame是登录名称。
4. 数据库维护和管理是哪些内容
一般来说 维护的工作就是日常的监控和备份恢复工作。也有安装,配置,启动,关闭,优化的工作。可以查看你用的数据库的管理员手册,一般都有这样的日常admin工作的清单。数据库维护是指当一个数据库被创建以后的工作都叫做数据库维护。包括备份系统数据、恢复数据库系统、产生用户信息表,并为信息表授权、监视系统运行状况,及时处理系统错误、保证系统数据安全,周期更改用户口令。
5. 数据库工程师工作内容是什么
数据库工程师工作内容是什么
数据库工程师工作内容是什么?下面是我为大家整理的是数据库工程师工作的内容,欢迎阅读!想要了解更多的内容,欢迎关注论坛!
数据库工程师岗位职责
1、设计并优化数据库物理建设方案;
2、制定数据库备份和恢复策略及工作流程与规范;
3、在项目实施中,承担数据库的实施工作;
4、针对数据库应用系统运行中出现的问题,提出解决方案;
5、对空间数据库进行分析、设计并合理开发,实现有效管理;
6、监督数据库的备份和恢复策略的执行;
7、为应用开发、系统知识等提供技术咨询服务。
数据库工程师岗位要求
1、通信、电子工程、自动化、计算机其相关专业本科以上学历;
2、掌握数据库技术的基本概念、原理、方法和技术;
3、能够使用SQL语言实现数据库操作;
4、具备数据库系统安装、配置及数据库管理与维护的基本技能;
5、了解数据库应用系统的生命周期及其设计、开发过程;
6、熟悉常用的'数据库管理和开发工具,具备用指定的工具管理和开发简单数据库应用系统的能力;
7、了解数据库技术的最新发展;
8、具有严谨认真的工作态度,对枯燥作业有耐心。
数据库工程师工作内容
1、数据库设计:参与项目技术方案设计与需求分析,根据方案与需求进行数据模型设计,保证数据库开发的规范性;
2、数据库编码:根据数据库设计,进行数据库相关脚本的编写及数据库相关的模块开发;
3、数据库支持与优化:为项目开发、测试提供数据库相关支持,负责对数据库性能优化、应用优化;
4、文档编写:根据软件工程要求,编写数据库文档,包括数据标准、数据词典的定义等,为软件测试与维护提供材料;
5、服务器运维;
6、后期数据库的优化以及维护。
延伸阅读:
作为Oracle DBA需要学习的有:
(1)Oracle的权限控制。
(2)Oracle数据库的基本概念和性能指标。
(3)常用的数据字典视图和动态性能视图。
(4)常用的DBMS包等等。
(5)以RMAN为主的备份恢复,以及容灾技术,此外冷备、逻辑备也需要熟练使用。
(6)操作系统和存储方面的知识,主要是UNIX基础命令和编写shell程序。
(7)高级DBA需要了解更多的东西,比如数据库设计等等。
Oracle的认证主要包括OCA、OCP、OCM等。现在的主流是OCP,不过考试价格较贵。对就业有一定程度的好处。
DBA的就业主要是在大、中型企业。以金融、保险等行业尤甚。大型网站或游戏公司也需要DBA。因为这类行对数据的要求颇高。DBA的待遇在国外是IT从业者里较高的。即使在国内,DBA的待遇也相对好一些。因为其技术难度大于普通程序员。普通DBA一般是在8000-20000之间(如北京、上海)。乙方公司待遇要高一些,但工作较辛苦,压力很大。甲方公司待遇稍低,但福利略好,工作一般很轻松。
女生在甲方做DBA是很受欢迎的。因为很多领导都会认为女生较细心。但乙方公司一般不大愿意招聘女生来做数据库方面的服务。
甲方DBA日常的工作压力不大,较程序员小很多。但出问题的时候负担会比较重。但一般大型企业都会购买第三方或原厂的技术支持,压力会减轻很多。每年有1-2个数据库会出问题或需要做一些大的动作。而且大多数问题都是由于操作系统崩溃或者服务器当机。oracle本身运行还是相当稳定的。
6. .数据库设计分为几个阶段,各阶段的任务是什么
按照规范的设计方法,一个完整的数据库设计一般分为需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库的实施、数据库运行与维护六个阶段:
各阶段的任务如下:
1、需求分析:分析用户的需求,包括数据、功能和性能需求;
拓展资料:
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种"反复探寻,逐步求精"的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
7. 数据库的维护工作包括那4个方面的内容
可不仅仅是4个方面。
总的来说数据库管理员的主要责任就是保证数据库系统的正常、良好的运行。
1:基本的备份、还原。
2:基本的DML语句你要会。(SELECT,UPDATE,DELETE,INSERT)
3:如果公司要求修改某个报表的数据。你还需要会存储过程、函数
4:深入一点就是性能优化,语句优化、数据库优化等等
还有其它很多很多需要学习一步一步慢慢来。