导航栏 ×
你的位置: 范文网 > 工作总结 > 导航

数据库表设计思想总结(推荐11篇)

发表时间:2018-05-13

数据库表设计思想总结(推荐11篇)。

◉ 数据库表设计思想总结

CREATE PROCEDURE strink_logspace

DECLARE @LogicalFileName sysname,

@MaxMinutes INT,

SELECT @LogicalFileName = rtrim(name),

from sysfiles where status & 0x40 = 0x40

SELECT @OriginalSize = size -- in 8K pages

SELECT db_name +'日志原始大小' +

CONVERT(VARCHAR(30),@OriginalSize) + ' pages/ 8K 或 ' +

CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'

(DummyColumn char (8000) not null)

-- Wrap log and truncate it.

DECLARE @Counter  INT,

@StartTime DATETIME,

SELECT @StartTime = GETDATE(),

@TruncLog = 'BACKUP LOG ['+ db_name() + '] WITH TRUNCATE_ONLY'

-- Try an initial shrink.

DBCC SHRINKFILE (@LogicalFileName, @NewSize)

-- Wrap the log if necessary.

WHILE    @MaxMinutes >DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired

AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) -- the log has not shrunk

AND (@OriginalSize * 8 /1024) >@NewSize -- The value passed in for new size is smaller than the current size.

BEGIN -- Outer loop.

WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))

INSERT DummyTrans VALUES ('Fill Log') -- Because it is a char field it inserts 8000 bytes.

EXEC (@TruncLog) -- See if a trunc of the log shrinks it.

DBCC SHRINKFILE (@LogicalFileName, @NewSize)

SELECT db_name() +'日志最后大小' +

CONVERT(VARCHAR(30),size) + ' pages/ 8K 或 ' +

CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'

PRINT '*** 数据库日志压缩成功 ***'

◉ 数据库表设计思想总结

系统类小说篇一:小说网站数据库设计

小说网站数据库设计

一、用户需求调查

小说网站主要由:(作家管理(工作人员管理。四大部分组成。

(1)读者管理:

①、建立读者信息表,对读者统一编号,实时更新。

②、建立读者借阅表,对读者看过的书籍作记录,以便

读者再次阅读。

(2)作者管理:

①、建立作者信息表,对作者统一编号,实时更新。②、建立作者更新后台,给与权限更新作品。③、建立作品及薪酬表,便于结算作者的薪酬。

(3)网络书籍管理系统

建立图书信息表,对图书统一编号,实时更新。

建立图书点击推荐表,记录图书被点击的次数,被推荐的次数。建立图书排行表,可以按:点击数,推荐数,总字数等进行排名。

(4)工作人员管理

工作人员按权限不同分别有权限更改:作家信息表,网络书籍信息表,读者信息表,网站前台网管推荐栏目,给用户或者作者提升权限等功能中的一个或多个。

建立图书权限表,对VIP书籍进行权限限制。

二、系统数据流图

三、系统数据字典

(主要数据流定义

数据流名称:登陆

位置:读者位置:读者——>p4-2作家——>p4-2

定义:登录=用户名+密码

数据流量:?不懂用来做什么?

说明:鉴别用户身份

数据流名称:权限设置

位置:读者位置:管理员——>p4-2

定义:

数据流量:用户名=用户名+密码

说明:通过这个设置用户权限

数据流名称:作家权限

位置:读者位置:p——>p

定义:作家权限=【下派的推荐,阅读作品,更新,修正自己的作品的权限】

数据流量:

说明:作家获得用户权限

数据流名称:读者权限

位置:读者位置:p——>p

定义:作家权限=【下派的推荐,阅读作品权限】

数据流量

说明:读者获得用户权限

数据流名称:看书推荐

位置:读者位置:p——>p

定义:看书推荐=【读者执行看书、推荐命令】

数据流量:

说明:读者执行看书推荐指令时,图书管理系统分别增加图书阅读

量和推荐量

数据流名称:更新作品

位置:读者位置:p——>p

定义:看书更新作品=【左键更新自己的作品】

数据流量:

说明:作家执行更新作品命令时,图书管理系统增加或修正图书信息

(2)主要数据存储定义

1、数据存储编号:D1

输入:p4-2

输出:p4-2前台

数据结构:读者记录=以阅读书名+时间+积分+推荐票数+推荐操作数据量和存取频率:?不懂用来做什么?

2、数据存储编号:D2

输入:p4-2

输出:p4-2前台

数据结构:图书排行记录=排行书名+时间+积分+被推荐票数+更新操作+修正操作

数据量和存取频率:?不懂用来做什么?

3、数据存储标号:D3

输入:p3-1

输出:p3-2前台

数据结构:推荐记录=推荐书名+时间+被推荐票数

图书记录=更新时间+章节数+目录+推荐数+点击总数+作家+总字数数据量和存取频率:?不知道用来做什么?

4、数据存储标号:D4

输入:p3-2

输出:前台调用

数据结构:作家记录=已更新书名+时间+积分+被推荐票数+排行方式+是否完结+作者+总字数

数据量和存取频率:?不知道用来做什么?

(主要处理过程

1、处理过程编号:4-2

处理过程名:分配权限

输入:读者作者管理员

输出:读者信息作者信息管理员信息

说明:用于用户身份确认

2、处理过程编号:3-1

处理过程名:图书管理

输入:读者作者

输出:图书排行管理前台

说明:对图书被更新、推荐、阅读进行处理

系统类小说篇二:系统分析__习题

一、选择题

1.软件的主要特性是(ABC)。

A)无形B)高成本C)包括程序和文档D)可独立构成计算机系统

2.软件工程三要素是(CD)。

A)技术、方法和工具B)方法、工具和过程

C)方法、对象和类D)过程、模型、方法

3.包含风险分析的软件工程模型是(A)。

A)螺旋模型B)瀑布模型C)增量模型D)喷泉模型

4.软件工程的主要目标是(C)。

A)软件需求B)软件设计C)风险分析D)软件实现

5.下列属于面向对象开发方法的是(ABCD)。

A)BoochB)UMLC)CoadD)OMT

6.软件危机的主要表现是(BD)。

A)软件成本太高B)软件产品的质量低劣

C)软件开发人员明显不足D)软件生产率低下

7.软件开发方法的主要工作模型有(ABC)

A)螺旋模型B)循环模型C)瀑布模型D)专家模型

8.软件工程的目标有(ABC)。

A)易于维护B)低的开发成本C)高性能D)短的开发期

9.软件工程学的目的和意义是()。

A)应用科学的方法和工程化的规范管理来指导软件开发B)克服软件危机

C)作好软件开发的培训工作D)以较低的成本开发出高质量的软件

1.需求分析的主要目的是(BC)。

A)系统开发的具体方案

B)进一步确定用户的需求

C)解决系统是“做什么的问题”

D)解决系统是“如何做的问题”

2.需求分析的主要方法有(CD)。

A)形式化分析方法B)PAD图描述

C)结构化分析(SA)方法D)OOA法

3.面向对象的分析方法主要是建立三类模型,即(D)。

A)系统模型、ER模型、应用模型

B)对象模型、动态模型、应用模型

C)E-R模型、对象模型、功能模型

D)对象模型、动态模型、功能模型

4.SA法的主要描述手段有(B)。

A)系统流程图和模块图

B)DFD图、数据词典、加工说明

C)软件结构图、加工说明

D)功能结构图、加工说明

5.画分层DFD图的基本原则有(ACD)。

A)数据守恒原则

B)分解的可靠性原则

C)子、父图平衡的原则

D)数据流封闭的原则

6.在E-R模型中,包含以下基本成分(C)。

A)数据、对象、实体

B)控制、联系、对象

C)实体、联系、属性

D)实体、属性、联系

7.画DFD图的主要目的是(AD)。

A)作为需求分析阶段用户与开发者之间交流信息的工具

B)对系统的数据结构进行描述

C)对目标系统的层次结构进行描述

D)作为分析和设计的工具

8.数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。

A)数据说明条目、控制流条目、加工条目、数据存储条目

B)数据流条目、数据项条目、文件条目、加工条目

C)数据源条目、数据流条目、数据处理条目、数据文件条目

D)数据流条目、数据文件条目、数据池条目、加工条目

9.在需求分析阶段主要采用图形工具来描述的原因是(BC)。

A)图形的信息量大,便于描述规模大的软件系统

B)图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重要的细节

C)图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用户之间达成一致的需求

D)图形比文字描述简单、形象

1.模块的基本特征是(AC)。

A)外部特征(输入/输出、功能)B)内部特征(输入/输出、功能)

C)内部特征(局部数据、代码)D)外部特征(局部数据、代码)

2.SD方法的设计总则是(CD)。

A)程序简洁、操作方便B)结构清晰、合理

C)模块内聚性强D)模块之间耦合度低

3.软件设计的主要任务是(ABD)。

A)将分析阶段获得的需求说明转换为计算机中可实现的系统

B)完成系统的数据结构和程序结构设计

C)完成模块的编码和测试

D)对模块内部的过程进行设计

4.设计阶段应达到的目标有(AD)。

A)提高可靠性和可维护性B)提高应用范围

C)结构清晰D)提高可理解性和效率

5.从工程管理的角度来看,软件设计分两步完成(D)。

A)①系统分析②模块设计B)①详细设计②总体设计

C)①模块设计②详细设计D)①总体设计②详细设计

6.模块独立性准则由以下定性指标来衡量(BD)。

A)分解度B)耦合度C)屏蔽性D)内聚性

7.用户界面设计的任务包括(ABC)。

A)确定用户界面类型B)建立任务模型

C)建立用户模型D)建立功能模型

8.程序设计语言可以分为(BCD)。

A)面向过程的语言B)机器语言

C)高级语言D)汇编语言

9.程序效率包括(ACD)几个方面的内容。

A)代码效率B)运行效率C)存储效率D)I/O效率

10.SP方法中的基本控制结构有(ABC)。

A)顺序结构B)选择结构C)重复结构D)GOTO结构

11.内部文档可用注释语言书写,注释语言分为(ABCD)。

A)序言性注释B)描述性注释C)功能性注释D)状态性注释

12.为使程序中数据说明更易于理解和维护,必须遵循以下原则(ABC)。

A)数据说明的次序应当规范化

B)一个语句说明多个变量时,各变量名按字母顺序排列

C)对于复杂的数据结构,要加注释,说明在程序实现时的特点

D)定义变量名应按字母顺序排列

13.源程序的效率与(D)阶段确定的算法的效率直接有关。

A)概要设计B)总体设计C)单元设计D)详细设计

14.在详细设计翻译转换成源程序代码后,算法效率反映为对程序的哪几个方面的要求

(CD)。

A)读写速度B)代码长度C)存储容量D)执行速度

15.提高程序效率的根本途径在于(BC)。

A)编程时对程序语句进行调整B)选择良好的设计方法

C)使程序最大限度的简洁D)选择良好的数据结构与算法

1.面向对象程序设计的基本机制(ABC)。

A)继承B)消息C)方法D)结构

2.下列属于面向对象的要素有(BCD)。

A)分类性B)抽象C)共享D)封装

3.下列选项中属于面向对象开发方法的有(ACD)。

A)BoochB)CADC)CoadD)OMT

4.下列属于Coad方法中面向对象的分析模型的层次有(AB)。

A)主题层B)对象层C)应用层D)接口层

5.一个类属性依其特征划分,其类型有(ABCD)。

A)描述型B)定义型C)派生型D)参考型

6.在进行面向对象分析时,所采用的模型有(ABD)。

A)对象模型B)动态模型C)静态模型D)功能模型

7.状态是对象属性的值的一种抽象,它的性质有(AB)。

A)时间性B)持续性C)有序性D)有穷性

8.数据流图中的处理必须用对象中的操作来实现常见的操作有(ABCD)。

A)查询B)动作C)活动D)访问

9.建立继承关系时所采用的方式有(AC)。

A)自顶向下B)从内到外C)自底向上D)从复杂到简单

10.对象是人们要研究的任何事物主要的对象类型有(ABCD)。

A)有形实体B)作用C)事件D)性能说明

A)关联B)聚合C)依赖D)笔记

A)修饰B)版类C)加标签值D)约束

A)静态建模B)动态建模C)模块化建模D)功能建模

A)状态图B)类图C)序列图D)活动图

A)名称B)活动C)条件D)事件

A)条件为真B)收到另一对象的信号

C)收到操作调用D)时间表达式

A)公有的B)私有的C)私有保护的D)保护的

A)友元B)扩展C)使用D)组合

A)完整B)不相交C)不完整D)覆盖

A)同步B)异步C)简单D)复杂

二、判断题

1.软件就是程序,编写软件就是编写程序。(×)

2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。(×)

3.结构化方法的工作模型是使用螺旋模型进行开发。(×)

4.结构化方法和JSP方法都不适合于大型软件的开发。(√)

5.原型化开发方法包括生成原型和实现原型两个步骤。(×)

面向对象的设计和面向对象的程序设计。(√)

7.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。(×)

8.软件工具的作用是为了延长软件产品的寿命。(×)

9.软件工程过程应该以软件设计为中心,关键是编写程序。(×)

10.RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。(√)

1.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×)

2.SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√)

3.HIPO法既是需求分析方法,又是软件设计方法。(√)

4.在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×)

5.加工小说明是对系统流程图中的加工进行说明。(×)

6.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×)

OOA法及HIPO法等。(×)

8.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(×)

9.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。(√)

完整性、现实性和有效性。(√)

1.划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。(×)

2.在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常被使用。(×)

3.信息隐蔽原则有利于提高模块的内聚性。(√)

4.中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使用事务分析技术得到初始的模块结构图。(×)

5.SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。(×)

6.所谓结构冲突,是指输入数据与输出数据之间很少或没有结构上的对应关系。通常解决的办法是:构造一个或者多个中间结构,在输入和输出结构之间进行转换。(√)

7.当模块的.控制范围是其作用范围的子集时,模块之间的耦合度较低。(×)

8.(来自::系统类小说)JACKSON方法是以数据流、数据封闭性准则逐层分解的。(×)

可重用性、可维护性、局部性和顺序性。(×)

10.项目应用领域是选择语言的关键因素。(√)

Pascal、C语言、PL/1和汇编语言都是科学工程计算可选用的语言。(×)

12.要用快速原型法开发软件,应选用4GL语言。(√)

数据结构与算法。(×)

14.良好的程序设计风格简单说就是高的编程技巧。(√)

1.面向对象的的方法是以类作为最基本的元素,它是分析问题解决问题的核心。(×)

2.类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对象。(√)

3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系(×)。

易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。(×)

5.面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。(√)

6.面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。(√)

结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。(√)

分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。(√)

9.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。(√)

继承重用、多态重用。(√)

11.主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个模型要同时考虑和理解的内容,主题起一种控制作用。(√)

结构、继承性和基于消息的通信构成。(×)

13.支持继承性是面向对象程序设计语言和传统程序设计语言在语言机制方面的根本区别。(√)

表达和验证。(√)

提高质量和提高可维护性。(√)

图、模型元素和通用机制构成的层次关系来描述的。(√)

2.UML是一种建模语言,是一种标准的表示,是一种方法。(×)

系统类小说篇三:操作系统第二章练习2答案

个进程,且当前不在执行进程调度程序,试考虑下述临界区是指进程中用于实现进程互斥的那段代码。(临界区是指进程中用于实现进程通信的那段代码。(临界区是指进程中访问临界资源的那段代码。是一种只能由wait和signal操作所改变的整型变量,(A)可用于实现进程的(B)和(C),(B)是排他性访问临界资源。A:(锁;(记录型信号量。B:(通信;(互斥。C:(通信;(互斥。,当其值为(B)时,进程阻塞。在执行signal操作时,信号量的值应当为(C),当其值为(D)时,应唤醒阻塞队列中的进程。A:(加减加指定数值;(大于小于大于等于小于等于不变;(减加指定数值;(大于小于大于等于小于等于,若S.value的初值为-个等待进程。A:(--~(D),以便能正确地描述图2.12所示的前趋关系。

Vara,b,c:semaphore:=,而该信号量的取值范围为(B);如果最多允许有。A:(;-;。同步机制应遵循的准则:、、和。空闲让进、忙则等待、有限等待、让权等待在记录型信号量机制中,S.value>在记录型信号量机制中,每次signal操作意味着,因此应将S.value,当S.value<=在利用信号量实现进程互斥时,应将置于和之间。临界区,wait操作,signal操作在每个进程中访问的那段代码称为临界区。为实现对它的共享,应保证进程进入自己的临界区,为此,在每个进程的临界区前应设置,临界区后应设置。临界资源,互斥,进入区,退出区PV操作必须成对出现,有一个P操作就一定有一个V操作。临界资源是指系统中一次只允许一个进程使用的资源,而临界区是指涉及到临界资源的代码段。如果P(SP(S):表示申请一个资源;V(S)表示释放一个资源。信号量的初值应该大于等于P、V操作当为互斥操作时,它们同处于同一进程;当为同步操作时,则不在同一进程中出现。

◉ 数据库表设计思想总结

简历编号:更新日期:
姓 名:国籍:
目前所在地:天津民族:汉族
户口所在地:天津身材:185 cm?65 kg
婚姻状况:未婚年龄:22 岁
培训认证:诚信徽章:
求职意向及工作经历
人才类型:应届毕业生?
应聘职位:数据库管理员:数据处理与分析、计算机类、市场调研/业务分析专员:
工作年限:0职称:无职称
求职类型:全职可到职日期:三个月以后
月薪要求:1500--希望工作地区:天津 深圳
个人工作经历:
公司名称:中国银行起止年月:-07 ~ 2009-09
公司性质:国有企业所属行业:金融,保险
担任职务:办公室电脑部实习生
工作描述:负责软硬件维护和档案核对、整理。
离职原因:
公司名称:广东南方海岸科技服务有限公司起止年月:-07 ~ 2007-08
公司性质:民营企业所属行业:电器,电子,通信设备
担任职务:办公室助理和技术助理
工作描述:负责整理文档、文件打印传真、到码头船上安装卫星定位仪器。
离职原因:
教育背景
毕业院校:华南师范大学
最高学历:本科获得学位: 本科学士学位毕业日期:-07-01
所学专业一:信息与计算科学所学专业二:
受教育培训经历:
起始年月终止年月学校(机构)专 业获得证书证书编号
-092010-07华南师范大学信息与计算科学**
语言能力
外语:英语 优秀
国语水平:精通粤语水平:精通
工作能力及其他专长
我性格热情随和,具有进取精神和团队精神,积极参与各种社会实践活动,曾担任校区广播台干事,并荣获“优秀技术人员”称号;担任班里文体委员,多次组织策划集体活动,像春游、秋游,女生节活动,和体育活动等;在广东南方海岸科技服务有限公司实习,担任办公室助理和户外技术助理;在7月到9月在中国银行海珠支行实习,负责软硬件维护和档案核对、整理。这些实践经历,锻炼了我的交际能力和组织能力,为我走向社会打下了坚实的'基础。

此外,我热爱体育活动,是专业足球队、篮球队的主力,并在205月担任系足球队队长参加校区七人足球赛,最终获得校区足球赛第四名的成绩。我觉得,体育不但可以强身健体,还可以在运动中培养一个人的团队精神。我喜欢英语,有不错的英语能力,并通过了大学英语六级考试。在暑假和父母一起到澳洲自由行。衣食住行都需要用英语交流,这证明了我扎实的英语基础。我为人诚实信用,曾在悉尼机场坐的士的时候,发现一台可能是之前乘客落下的高级相机,最后交给了的士司机,要求他通知总台并交还失主。

详细个人自传
个人联系方式
通讯地址:
联系电话:家庭电话:
手 机:QQ号码:
电子邮件:个人主页:

◉ 数据库表设计思想总结

本文章来给Linux配置MySQL数据库过程与命令,希望此文章对各位同学有所帮助哦,

Linux系统下如何配置安装MySQL数据库,下面所用的distribution是Centos5.8。

1. yum安装 yum install mysql* 为了确保过程不出问题,我们用mysql*把相关的都装上

2. Linux系统有个好处就是它可以自动为我们装好mysql不像windows里要自己手动配置;上面装完后有如下提示:

Linux系统下启动MySQL报错:Neither host 'localhost.localdomain' nor 'localhost' could be looked up with

查看cat /etc/hosts 发现什么文件也没有,编辑内容相关配置,

vim /etc/hosts 输入以下内容:127.0.0.1localhost.localdomain localhost

4. 重新启动后可以正常运行了,然后修改初始密码。刚装完是没有密码的,我们可以直接输入mysql登陆:

5. 测试正常运行后,我们退出来修改初始密码,改完后再直接输入mysql测试下:

6. 使用新设置的密码123456可以正常登陆:

以上就是Linux系统下配置安装MySQL的一些简单的步骤!

◉ 数据库表设计思想总结

(1)初步掌握数据收集、数据分类,了解使用数据库管理信息的基本思想与方法,能够用数据来描述信息。

(2)掌握几种主要的数据类型,如文本型、备注型、数字型、日期/时间型、货币型、自动编号型等,并能够正确给不同的字段定义不同的数据类型。

(3)初步掌握常用创建数据表的方法。

(1)能根据实际问题选择合适的工具,有效管理身边的数据信息。

(2)掌握信息的结构化和数据的规范化的过程与方法。

(3)能通过使用数据库应用系统,了解使用数据库管理信息的基本思想、方法。

(1)通过管理身边的信息资源,体会信息管理的重要性。

(2)通过使用数据库应用系统,感受利用数据库存储、管理大量数据并实现高效检索方面的优势,形成科学管理信息的意识,进一步培养学生的信息素养。

第三节的内容是介绍数据结构化的过程,让学生了解数据库设计的思想,初步学会使用数据库技术来管理信息,处理日常学习与生活中的问题。在本节的学习中,数据的规范化和信息的结构化是重点,准确地设定字段的类型是难点。主要让学生根据自己确定的研究对象,将数据进行结构化的处理,建立属性字段和确定字段类型。进而学会创建数据表,并能添加相应的记录数,最终能体会数据库管理信息的基本思想与方法。

高二学生对计算机的基础知识有一定的了解,并具备了一定的信息素养,但对管理信息的概念比较模糊,在怎样管理信息、如何针对实际问题选择适当的工具去管理信息的能力有待提高。他们认为只要完成老师布置的任务就可以了,缺乏科学管理信息的意识和独立自主创新意识,应该引导他们认识到对信息进行有效管理是很重要的,也为以后的学习打下坚实的基础。

主要采用:任务驱动,小组讨论法,教师引导,学生自主探究的学习方式。

2、引入Access是一个较为简单的数据库管理软件。分别简介Access、启动Access的方法、建立数据库、介绍数据库中的各数据对象的作用.(特别是数据表)。

3、创设情境――建立一个数据库来管理班级图书室的图书。引导同学设想用数据库可以为班级的图书室做哪些事情?通过这样一个贴近同学生活的例子,激发出同学们学习数据库的热情,同时提醒同学们在日常学习生活中,能够善于灵活使用所学的知识。

4、给同学们分组并分配任务,让同学们根据管理数据的目的设计数据库。通过让同学根据需要设计数据库,贯彻了一个软件设计过程中的人本理念,可能初次设计不成熟,但是他们领会了数据库设计是要根据需要来设计的这样一种理念。

[创建Access数据库教学设计]

◉ 数据库表设计思想总结

死锁的发生对系统的性能和吞吐量都有重要影响,经检测发现,管理信息系统的死锁主要是因为两个或多个线程(登录)抢占同一表数据资源,引起长时间抢占同一资源不是因为我们需要处理的事务太复杂,时间太长,而往往是因为我们在前端应用程序对数据库作操作时忘了提交。本文介绍一种处理解决这种死锁的方法。 Sybase封锁原理

数据共享与数据一致性是一对不可调和的矛盾,为了达到数据共享与数据一致,必须进行并发控制。并发控制的任务就是为了避免共享冲突而引起的数据不一致。Sybase SQL Server并发控制的方法是加锁机制(LOCKING).

已有的锁 S U X S ∨ ∨ × U ∨ × × X × × × Sybase SQL Server有三种封锁类型:排它锁(exclusive lock,简称X锁);共享锁(share lock,简称S锁);更新锁(update lock,简称U锁)。这三种锁的相容矩阵表如下:

Sybase SQL Server是自动决定加锁类型的。一般来说,读(SELECT)操作使用S锁,写(UPDATE,INSERT和delete)操作使用X锁。U锁是建立在页级上的,它在一个更新操作开始时获得,当要修改这些页时,U锁会升级为X锁。

SQL Server有两级锁:页锁和表锁。通常页锁比表锁的限制更少(或更小)。页锁对本页的所有行进行锁定,而表锁则锁定整个表。为了减小用户间的数据争用和改进并发性,SQL Server试图尽可能地使用页锁。

当SQL Server决定一个语句将访问整个表或表的大多数页时,它用表锁来提供更有效的锁定。锁定策略直接受查询方案约束,如果update或delete语句没有可用的索引,它就执行表扫描或请求一个表锁定。如果update或delete语句使用了索引,它就通过请求页锁来开始,如果影响到大多数行,它就要请求表锁。一旦一个语句积累的页锁超过锁提升阈值,SQL Server就设法给该对象分配一个表锁。如果成功了,页锁就不再必要了,因此被释放。表锁也在页层提供避免锁冲突的方法。对于有些命令SQL Server自动使用表锁。

SQL SERVER加锁有三种状态:

1)意向锁(intend)—是一种表级锁,它表示在一个数据页上获得一个S或X锁的意向。意向锁可以防止其他事务在该数据页的表上获得排它锁。

2)阻塞(blocking,简记blk)—它表明目前加锁进程的状态,带有blk后缀的锁说明该进程目前正阻塞另一个需要获得锁的进程,只有这一进程完成,其他进程才可以进行。

3)需求锁(demand)—表示此时该进程企图得到一个排它锁。它可以防止在这一表或页上加过多的S锁,她表示某一事务是下一个去锁定该表和该页的事务。

需求锁是一个内部过程,因此用sp_lock是无法看见的。

简单地说,有两个用户进程,每个进程都在一个单独的页或表上有一个锁,而且每个进程都想在对方进程的页或表上请求不相容锁时就会发生“死锁”。在这种情况下,第一个进程在等待另一进程释放锁,但另一进程要等到第一个进程的对象释放时才会释放自己的锁。

SQL Server检查是否死锁,并终止事务中CPU时间积累最小的用户(即最后进入的用户)。SQL Server回滚该用户的事务,并用消息号1205通知有此死锁行为的应用程序,然后允许其他用户进程继续进行,

在多用户情形下,每个用户的应用程序都应检查每个修改数据的事务是否有1205号消息,以此确定是否有可能死锁。消息号1025表示该用户的事务因死锁而终止并被回滚。应用程序必须重新开始这个事务处理。

既然管理信息系统长时间死锁的原因是由于我们提交或者是提交不当,那么我们就可以通过修改程序防止出现死锁。定位死锁出错处主要经过以下三步:

1)在死锁出现时,用SP_WHO,SP_LOCK获得进程与锁的活动情况。

2)结合库表sysobjects和相应的操作员信息表查出被锁的库表与锁住别人的操作员。

3)根据锁定的库表与操作员的岗位,可以估计出程序大约出错处。询问操作员在死锁时执行的具体操作即可完全定位出错处。最后查找程序并修改之。

系统过程sp_who给出系统进程的报告。如果用户的命令正被另一进程保持的锁阻碍,则:

◆status列显示“lock sleep”。

◆blk列显示保持该锁或这些锁的进程标识,即被谁锁定了。

◆loginame列显示登录操作员。结合相应的操作员信息表,便可知道操作员是谁。

Fid spid status loginame origname blk dbname cmd

0 1 lock sleep lm lm 18 QJYD SELECT

0 2 sleeping NULL NULL 0 master NETWORK HANDLER

0 3 sleeping NULL NULL 0 master NETWORK HANDLER

要得到关于当前SQL Server上保持的锁的报告,可用系统过程sp_lock [spid1[,spid2]],spid1,spid2是表master.dbo.sysprocesses中的sql server进程id号,用sp_who可以得到锁定与被锁定的spid号:

◆locktype列显示加锁的类型和封锁的粒度,有些锁的后缀还带有blk表明锁的状态。前缀表明锁的类型:Sh—共享锁,Ex—排它锁或更新锁,中间表明锁死在表上(”table”或’intent’)还是在页上(page). 后缀“blk”表明该进程正在障碍另一个需要请求锁的进程。一旦正在障碍的进程一结束,其他进程就向前移动。“demand”后缀表明当前共享锁一释放, 该进程就申请互斥锁。

◆table_id列显示表的id号,结合sysobjects即可查出被封锁的表名。

Fid Spid locktype table_id page row dbname Class context

0 1 Sh_intent 678293476 0 0 QJYD Non Cursor LockFam dur

0 1 Sh_page 678293476 31764 0 QJYD Non Cursor Lock

0 18 Ex_intent 9767092 0 0 QJYD Non Cursor LockFam dur

根据sp_who与sp_lock命令的结果,结合sysobjects和相应的操作员信息表。得到操作员及其在死锁时所操作的库表,便大约可以知道应用程序的出错处,再询问操作员在死锁时执行什么操作以进一步认证。最后查找程序并修正之。

◉ 数据库表设计思想总结

教学目标:

1、 通过数据库查询、管理数据记录的操作,体会数据库中数据管理的基本过程。

2、 Excel表的管理与数据库的管理的对比。

3、 体会利用数据库管理大量数据和高效检索的优势,认识有效管理数据的重要性,形成科学有效的数据管理意识。

学情分析:

本课的学习对象是高一年级学生。他们使用手机或平板电脑等信息技术工具时,对应用数据库技术的也有一定的感性认识,但对于数据库的.相关原理了解的不多,理解的也不够深入。

设计思路:

学生已掌握Excel基本操作技能和了解了数据库的管理系统的主要功能(维持数据库系统的正常运作,包括建立、删除、检索、统计、修改和组织数据库中数据以及为用户提供对数据库的维护手段等),以及上一节课已经了解了数据库的组成(表的建立、数据表的结构(字段、记录、主关键字)、表之间的关联),学生对数据库的管理会产生浓厚的兴趣,因此让学生思考数据的添加、删除和查询,进一步了解数据库的管理。

教师:上节课我们利用Access认识了数据库的组成是由多张表组成,每张表由多个字段和记录还有一个主关键字来将多张表联系起来。现在我们手里已经有了学生信息表和学生成绩表1。我们讨论一下都有哪些软件可以实现数据的管理。

教师:非常好,那么Excel相比Aceess数据库的管理哪个对数据管理更方便、快捷呢?下面从以下方面进行观察、对比。看看我们会发现什么。

(1)删除记录:高一10班“曲伟”同学本学期转学到其他学校就读,请分别将Excel工作簿和Access数据库中关于曲伟同学的相关信息删除。

(2)增加记录:高一3班吕伟同学,是班里刚从外面转过来的学生。将Excel工作簿中增加一条记录输入吕伟的相关信息。但在Access数据库中需要增加一条记录,输入吕伟的相关信息,记录中考号必须与其他学生不同,因为考号是主关键字。

小结:

(1)Excel中工作表间的操作不能同步,数据管理和维护需要逐个工作表进行,繁琐且容易出错;

(2)Access中,对其中一个数据表的修改会级联到其他数据表,从而保证了表间数据的一致性,便于数据的管理和维护。

(1)教师演示在“学生信息表.xls”工作簿中查询“刘欣宇”同学的考试成绩,其他同学认真观察,并思考。

(2)教师演示在“db1.mdb”文件中查询“刘欣宇”同学的考试成绩。

通过观察,学生发现要在Excel工作簿中查到“刘欣宇”同学的成绩,首先要到“学生信息”工作表,查询到张子笑的考号;然后根据考号在“学生成绩表1”查询对应的考试成绩;在此过程中,经历了两次查询,每次查询都要根据上一次的查询结果,到新的工作表中进行再次查询,这样的工作完全由人工来完成。

Access数据库可以通过在多个表中选择不同的字段,自动生成一张查询信息表,从中可以直接看出“刘欣宇”同学的考试成绩。

提示:Access构建查询表时可以显示多张表的字段,依据自己需要显示,然后单击“!”。

小结:

(1)Excel中的工作表是相对独立的,表与表之间不能同步。

(2)Access中通过数据表的形式对数据进行管理,多个数据表可以联接在一起,作为一个整体进行查询。

根据数据库管理的两种方式管理,Excel管理数据比较繁琐,Access数据库管理相对而言比较方便修改、查询和检索。

数据库的管理你还会用哪种方法来解决?

教学反思:

通过Excel和数据库的管理中的记录的增加与删除、数据的查询的对比,让学生对Access数据库的管理有一个更深一步认识和了解,让学生对数据库管理的使用产生浓厚的兴趣。同时也让学生明白有效管理数据的重要性,形成科学有效的数据管理意识。

◉ 数据库表设计思想总结

SYBASE公司是世界著名的数据库厂家,其关系数据库产品SYBASE SQL Server在中国大中型企事业单位中拥有大量的用户,笔者在多年的使用过程中,总结出SYBASE数据库管理和维护的一些经验,现拿出来与大家分享。 我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server的工作单元。一个事务包含一条或多条作为整体执行的T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。

SYBASE SQL Server是先记Log的机制。每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。这样就保证了整个数据库系统的一致性和完整性。

Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。这样做有如下好处:一是可以单独地备份Backup事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。

所建Log设备的大小,没有十分精确的方法来确定。一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。Log的大小还取决于数据库修改的频繁程度。如果数据库修改频繁,则Log的增长十分迅速。所以说Log空间大小依赖于用户是如何使用数据库的。此外,还有其它因素影响Log大小,我们应该根据实际操作情况估计Log大小,并间隔一段时间就对Log进行备份和清除。

随着数据库的使用,数据库的Log是不断增长的,必须在它占满空间之前将它们清除掉。清除Log有两种方法:

开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份,

执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:

dump transaction with truncate_only

通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。

以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。

有些操作会大批量地修改数据,如大量数据的修改(Update)、删除一个表的所有数据(Delete)、大量数据的插入(Insert),这样会使Log增长速度很快,有溢满的危险。下面笔者给大家介绍一下如何拆分大事务,以避免日志的溢满。

例如执行“update tab_a set col_a=0”命令时,若表tab_a很大,则此Update动作在未完成之前就可能使Log溢满,引起1105错误(Log Full),而且执行这种大的事务所产生的独占锁(Exclusive Table Lock),会阻止其他用户在执行Update操作期间修改这个表,这就有可能引起死锁。为避免这些情况发生,我们可以把这个大的事务分成几个小的事务,并执行“dump transaction”动作。

上例中的情况就可以分成两个或多个小的事务:

update tab_a set col_a=0 where col_b>x

dump transaction database_name with truncate_only

update tab_a set col_a=0 where col_b <=x

dump transaction database_name with truncate_only

这样,一个大的事务就被分成两个较小的事务。

按照上述方法可以根据需要任意拆分大的事务。若这个事务需要备份到介质上,则不用“with truncate_only”选项。若执行“dump transaction with truncate_only”命令,应该先执行“dump database”。以此类推,我们可以对表删除、表插入等大事务做相应的拆分。

◉ 数据库表设计思想总结

使用load database加载备份到现有数据库,数据库可以是用于创建转储的数据库,也可以不是,语法为:

load database 数据库名 from 转储设备名/物理文件名

load transaction数据库名 from 转储设备名/物理文件名

●利用备份恢复数据库举例:

某数据库数据和日志分别存储在两个独立的磁盘上,正常运转时的执行的备份计划如下,每天的17:00执行整个数据库的备份,每天的10:00、12:00、14:00、16:00点执行增量备份:

周一17:00磁带1(100M)周二10:00磁带2(30M)周二12:00磁带3(30M)周二14:00磁带4(30M)周二16:00磁带5(30M)周二17:00磁带6(30M)

DumpdatabaseDumptransactionDumptransactionDumptransactionDumptransactionDumpdatabase

若数据磁盘在周二的下午六点损坏,可以采用如下步骤恢复数据库:

(1)使用dump transaction with no_truncate获得当前的事务日志转储,磁带7;

(2)使用load database最新的数据库转储,磁带6;(offline)

(3)使用load transaction提交最新的事务日志转储,磁带7;

(4)使用online database把数据库状态设置为online,

(1)使用dump transaction with no_truncate获得当前的事务日志转储,磁带7;

(2)使用load database转载最新的数据库转储,磁带6;(offline)

(3)使用load transaction依次装载磁带2、3、4、5上的事务日志;

(4)使用load transaction提交最新的事务日志转储,磁带7;

(5)使用online database把数据库状态设置为online。

◉ 数据库表设计思想总结

跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,呵呵,再有新的体会,也全部补充到这里。

1.尽量使用数据冗余。

随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。

本科数据库课程中学的.知识直接拿来,在实际中会出大问题。满足三级范式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐(烦死你)又使程序运行速度减慢。

2.尽量不要使用varmax)类型

这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。

现在感觉用个var1000)就够了。

3.使用预留字段。

数据库表(尤其是动态表格),在你把所有字段都设计好了之后,再添加几个备注字段和预留字段。

之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。

个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用var200)吧。

◉ 数据库表设计思想总结

供参考 SQL SERVER11.0.xFORSCOOPENSERVER5 一.安装SCOOpenServer5.0.2PATCH(OS5.0.4以上无需此步骤) OSS437a OSS441a OSS446a 二.建立SYBASE帐号(使用scoadmin) 修改shell文件,增加SYBASEDSQUERYPATH环境变量, 1.shorksh(.profile): SYBASE=安装目录 DSQU

SQLSERVER 11.0.x FOR SCO OPENSERVER 5

一. 安装 SCO OpenServer 5.0.2 PATCH (OS5.0.4以上无需此步骤)

修改shell文件,增加SYBASE DSQUERY PATH 环境变量。

1. sh or ksh (.profile):

PATH    =  $SYBASE/bin:$SYBASE/install:$PATH:

set    path  =  ($SYBASE/bin $SYBASE/install $path .)

三. 系统参数调整。

1. 共享内存。

加入:

将/etc/conf/sdevice.d/aio  文件“N”改为“Y”,

/etc/conf/sdevice.d/suds 文件“N”改为“Y”

在文件最后加入/etc/suds_ctrl -a     (注1)

例:检查SYBASE用户所处组的组号如50(group),则为suds_ctrl -a 50

% tar xvf /cdrom/ebfss/ebf7575.tar

% tar xvf /cdrom/ebfcs/ebf7791.tar

% $SYBASE/install/sybinit   (注4)

注:

1)以sybase登录,使用id命令可以得到group id或通过 cat /etc/passwd | grep sybase 得到。

2)若安装SQL Server 过程中boot server时出现下面错误(可检查errorlog文件):ulinitspinlock:allocate mutex lock failed则是因为在执行suds_ctrl时SYBASE用户组的组号不对,重新执行suds_ctrl即可。

3)#号为使用root用户进行操作,%号为使用sybase用户操作。

-------------------------------------------------

修改shell文件,增加SYBASE DSQUERY PATH 环境变量。

1. sh or ksh (.profile):

PATH    =  $SYBASE/bin:$SYBASE/install:$PATH:.

set    path  =  ($SYBASE/bin $SYBASE/install $path .)

% cd $SYBASE/init/sample_source_files

注:

1)#号为使用root用户进行操作,%号为使用sybase用户操作,

----------------------------------------------

以root 登录:

创建sybase用户及用户组(useradd,groupadd或linuxconf)

#mount /mnt/cdrom (#mount -t iso9660 /dev/cdrom /mnt/cdrom)

# rpm -hiv -prefix /usr/sybase /mnt/cdrom/RPMS/sybase-common-11.9.2-1.i386.rpm

# rpm -hiv -prefix /usr/sybase /mnt/cdrom/RPMS/sybase-ase-11.9.2-1.i386.rpm

以sybase登录安装 ASE 11.9.2:

编辑用户登录文件:

Export SYBASE DSQUERY LD_LIBRARY_PATH LANG

--编辑源文件(/init/sample_resourde_files/srvbuild.adaptive_server.rs,

/init/sample_resourde_files/srvbuild.backup_server.rs)

将源文件拷贝到备用目录/usr/sybase/user中:

$cp /init/sample_resourde_files/srvbuild.adaptive_server.rs /user/ase.rs

$cp /init/sample_resourde_files/srvbuild.adaptive_server.rs /user/backup.rs

$srvbuildres -r /usr/sybase/user/ase.rs

$srvbuildres -r /usr/sybase/user/backup.rs

在root用户登录文件中加入以下语句:

(以bash用户,.bash_profile为例,更改系统内存值为60M)

echo “62914560” > /pro/sys/kernel/shmmax

文章来源://www.fw76.com/gongzuozongjie/155005.html