数据库设计工具

常用的数据库设计工具有哪些数据库管理工具有:一个是phpadmin还有一个是mssql2000,这两个比较常用.
每个数据库对应有自己的管理工具
access直接用office的access程序进行管理
mysql是phpmyadmin或是直接用mysql本身命令管理
mssql可以用mssql的企业管理器或是查询分析器进行管理

数据库辅助设计工具有那些?JBuilder 2005 --开发(编译)环境
Oracle 9i --数据库(所有数据库软件中最好的一种)
Rational Rose 2003 --画关系图滴
PowerDesign --画关系图滴(画图推荐用这个,可以转化生成成数据库表)
ERWin 4.0 --画关系图滴
Weblogic Platform 8.1 --用于开发、集成、部署和管理大型分布式Web应用滴
JBuilder 2005 + Oracle 9i +Weblogic Platform 8.1可以开发出学校教务管理系统 。PowerDesign 是辅助设计数据库的软件 。

可用于数据库设计的软件主要有哪几个?你是想干嘛呀?
用office的access可以做,能满足大部分需要!
或者sql server 这个就比较牛拉,可以用其中的企业管理器来建立各种数据库 , 看你自己要建什么样的
还有my sql 这个和sql差不多的 , 但是是在黑屏下运行的,如果想要图形用户界面,那你还要装一个客户端!
还有oracle,这个最厉害了!
其实你学会其中的一个就可以了,做一些东西就足够用了

那就用access吧,微软的东西 , 在office里就有!
打开access , 新建 空白数据库(给数据库启个名字,选择好路径),然后里面有id 和 字段值 。id就是编号,字段值就是你的数据列!根据你的需要建完字段,然后保存,然后输入你的表名;想要录入数据时 , 打开表,直接给相应的字段写上你需要的信息就行!和excel差不多的,你试试就会了!

有什么好的数据库设计软件foxbase是DOS版的已经没有了 多数是使用VFP在工作中作为一个数据管理工具还是很得心应手的,但是靠这个找工作是很少了(只能算一个特长吧) 。
C语言是个基础除非搞工控之类的专用硬件开发 实际很少使用 。现在是用它的可视编程版本VC或BCB了 如果会这两门语言中的一种 加上一门数据库(SQL,ORACLE,DB2等

所以,看来您需要在所具备的基础上再学习一下才可以

最好的办法是直接上手作一个系统,需要资料、有问题就到网上查、问,还要充分利用系统帮助,不需要太多的书 。

数据库设计的ER图设计有哪些工具?powerdesigner就可以了!

数据库设计工具有哪些个人在公司10多年 , 用的最多的是PowerDesigner,很方便 。
它支持60多种关系数据库管理系统(RDBMS)/版本 。
PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件 。
它能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具 。使用它可以分别从概念数据模型(Conceptual Data
Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计 。
操作并不复杂,度娘一下它的使用方法自学一下就可以了 。

上有哪些好的SQL数据库开发工具1:首选工具pl/sql developer
PL/SQL Developer是一种集成的开发环境 , 专门用于开发、测试、调试和优化Oracle PL/SQL存储程序单元,比如触发器等 。PL/SQL Developer功能十分全面,大大缩短了程序员的开发周期
2:Oracle SQL Developer是一个免费的,并完全支持图形数据库开发工具 。使用SQL Developer,您可以浏览数据库对象,运行SQL语句和SQL脚本,编辑和调试PL / SQL语句 。您还可以运行任何报告的数量,以及创建和保存您自己的的 。SQL Developer可以提高工作效率并简化数据库开发任务 。

数据库设计工具有哪些可以了解一下阿里云云数据库Mysql,可以做到开箱即用现在有阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦 。幸运券地址
数据库设计工具有哪些这个要看你的需求,如果只是简单的建模的话有很多工具都可以选择 , Emacs 和 Vim 都有一些 mod 可以用,用 Word 画的大牛我也见过——只要能画框画线的都行,随你喜欢;如果用 MySQL,MySQL 自己的 Workbench 目前的版本已经很不错了(如果你不用MySQL,但是也不需要自动 schema 生成的话,其实用这个也很不错) 。
如果你有很高的元数据管理需求 , 那么专业工具是唯一的选择,PD 和 ERWin 是其中的代表 , 这些都是收费的,且不菲 。所谓元数据管理,这个比较复杂 , 一些简单的例子:
1. 需要逻辑模型和物理模型分开设计并且能追踪设计变化;
2. 需要维护数据模型里所有的语义和命名约定;
3. 需要精细的版本管理;
4. 需要自动的一致性检查(有的 description 字段是 VARCHAR(255) 有的是BLOB/TEXT 能找出来告诉你);等等 。

数据库设计工具有哪些SI Object Browser ER 中文版 。1,功能上几乎涵盖了PD,ERWin等所有 2,全中文界面,别提多亲切了 3,支持Win7/Win8,Oracle12c,32位64位各种高大上

这种数据库关系图是用什么工具画的你好,这种形式的一般都是数据库软件自带的关系表或图表功能显示的 。
你也可以使用MS Visio 来制作 。

数据库关系图是用什么工具画的在数据库里面就有可以画E-R图的工具

请问下如下图片的 数据库ER图 。是用什么工具画的?PowerDesigner好像这个可以吧、

数据库表结构设计(如下图所示)用什么工具画先建空白excel--在左侧找到该表,右键--设计--然后右侧显示出表结构 , 鼠标左键单击右侧空白处--Ctrl+A全选--Ctrl+C复制--打开excel--Ctrl+V粘贴 。

数据库系统中的画图工具(如下的图是用什么工具画出来的)viso 可以画,不知道是不是 。

数据库管理系统属于什么软件,系统软件、应用软件或者是辅助设计软件?数据库管理系统 和 操作系统都属于系统软件,建立在它们之上的是应用软件 。

推出VFP的命令是什么? VFP提供了大量的辅助设计工具,可分为哪3类?数据选项卡中包含的主要文件有哪三个?退出VFP的命令是quit数据选项卡包括数据库、自由表和查询文档选项卡包括表单、报表和标签程序在代码选项卡中

GIS与计算机辅助设计(CAD)、计算机地图系统、数据库系统有什么异同?地理信息系统(GIS) 是一种具有信息系统空间专业形式的数据管理系统 , 包含人员、数据、硬件、软件、过程五个方面 。在严格的意义上,这是一个具有集中、存储、操作、和显示地理参考信息的计算机系统,能够应用于科学调查、资源管理、财产管理、发展规划、绘图和路线规划等 。
这四者之间的区别:
1、计算机地图系统属于GIS的一种 。
2、数据库系统是GIS的基?。糜诖娲IS数据 。
3、计算机辅助设计CAD是一种辅助绘图软件 , 可以绘制任何图形,CAD的数据与GIS之间可以互相转换,前提是在同一个坐标体系下 。

OSTA证书,办公软件应用,数据库应用,计算机辅助设计,图形图像处理 。请问哪个含金量较高?都是OSTA认证模块里的证书 。就看你学的是哪块的东西了

常用办公室软件有哪些?办公软件作为一个辅助工作,可以使工作流程更加快捷简单,那么你知道常用的办公软件又有那些呢?
数据库设计软件的作用是什么?假如你设计的数据库同时用于oracle,db2,你的SSMS能搞定吗?如果用pd设计,那么基本上他设计出的模型能用于很多数据库 。

请高手指点 , 数据库表结构设计是数据库设计中的哪一步?这个如何说 。数据库的设计包含有数据库表的设计,还有其主键、外键、字段类型等的设计和定义,这个需要根据实际的需要进行 。但一般都是需要做系统设计、数据库设计,然后才是数据库表的设计,没有什么一定是第几步之类的说法 。

哪位高手可以推荐几款通用的数据库管理工具1、MySQL Workbench
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具 。它是著名的数据库设计工具DBDesigner4的继任者 。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移
MySQL Workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本 。该软件支持Windows和Linux系统,下面是一些该软件运行的界面截图:




2、数据库管理工具 Navicat Lite
NavicatTM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本 。它的设计符合资料库管理员、开发人员及中小企业的需求 。Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯 。
界面如下图所示:

Navicat 提供商业版Navicat Premium 和免费的版本 Navicat Lite。免费版本的功能已经足够强大了 。
Navicat 支持的数据库包括MySQL、Oracle、SQLite、PostgreSQL和SQL Server 等 。

3、开源ETL工具Kettle
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定(数据迁移工具) 。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制 。

·授权协议:LGPL
·开发语言: Java
·操作系统: 跨平台
4、Eclipse SQLExplorer
SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库 。
SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI) 。通过使用SQLExplorer , 你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据 。
SQLExplorer同样能够生成SQL脚本来创建和查询表格 。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择 , 下图是运行中的界面,很好很强大 。

l授权协议: 未知
l开发语言: Java
l操作系统: 跨平台
5、MySQL管理工具phpMyAdmin
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具 。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等 。

l授权协议:GPL
l开发语言:PHP
l操作系统:跨平台
6、Mongodb 管理工具Mongodb Studio
Mongodb是一款性能优良,功能丰富的文档型非关系型数据库 。由于该数据库是开源项目并且还在不断更新中,目前为止在任何平台上都不能找到功能相对完整的客户端数据库管理工具 。而越来越多的项目中使用了Mongodb , 使得管理起来十分麻烦.如果点点鼠标就搞定了.那该有多好 。
基于如上背景,我们制作了此MongoDB管理工具,在DBA/开发/管理员三个维度提供一定层次的管理功能 。

Mongodb Management Studio功能如下:
l服务器管理功能
添加服务器,删除服务器
l服务器,数据库,表,列,索引,树形显示和状态信息查看
l查询分析器功能.
支持select,insert,Delete,update
支持自定义分页函 数 $rowid(1,5)查询第一条到第五条,需放在select后面.
l索引管理功能
支持列名的显示,索引的创建,查看,删除.
l数据库Profile管理.
可以设置Profile开关,查看Profile信息.自定义分页大小.
lmaster/slave信息显示
7、MySQL监控小工具mycheckpoint
mycheckpoint是一个开源的 MySQL监控工具,主要用来监控数据 。通过视图方式提供监控数据报表 。mycheckpoint支持以独立的Web服务器来运行 。
例如:SELECTinnodb_read_hit_percent, DML FROM sv_report_chart_sample;


查看详细报表示例 。
安装手册:http://code.openark.org/forge/mycheckpoint/documentation/installation
8、SQL SERVER 数据库发布向导
Microsoft SQL Server DatabasePublishing Wizard (微软SQLServer数据库发布向导) 是微软发布的一个开源工具 , 使用该工具可以帮你将SQLSERVER 数据库导出成一个 SQL脚本,类似 MySQL 的 mysqldump工具 。
官方说明:SQLServer数据库发布向导提供了一种将数据库发布到 T-SQL 脚本或者直接发布到支持宿主服务提供程序的方法 。

9、Eclipse 的Oracle插件jOra
jOra是一个为 Oracle开发者和管理员提供的 Eclipse 插件,可轻松的对Oracle进行开发和管理 。
安装地址:http://jora.luenasoft.de/updatesite
插件截图



l授权协议:免费,非开源
l开发语言:Java
l操作系统:跨平台
10、免费PostgreSQL监控工具pgwatch
pgwatch 是一个简单易用的PostgreSQL的监控工具 , 支持PostgreSQL 9.0 以及更新的版本 。
主要特性:
- 配置简单
- 大量的监控图表
- 快速系统检查面板
- 自动收集统计信息
- 交互式的 Flash 图表
- 集成 SQL worksheet

l授权协议: Artistic
l开发语言:PHP
l操作系统: Linux
11、MySQL Browser
MySQL的客户端工具MySQL Browser的优点是简单,及其的简单,安装之后能够立刻上手,马上就能使用的那种,布局也很简陋,功能也很简陋,简单使用没有问题 , 尤其是刚开始学习mysql的同学,可以尝试一下 。

·授权协议:未知
·操作系统: Windows
12、MySQL客户端软件HeidiSQL
HeidiSQL是一个功能非常强大的 MySQL 客户端软件,采用Delphi 开发,支持 Windows 操作系统 。

l授权协议:GPL
l开发语言:Delphi/Pascal
l操作系统: Windows
13、SQLite管理工具SQLiteStudio
SQLiteStudio 是一个跨平台的 SQLite数据库的管理工具 , 采用 Tcl语言开发 。
l授权协议:未知
l操作系统:跨平台
14、SQL客户端工具SQLyog
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具 , 它能够在任何地点有效地管理你的数据库 。

功能:
l快速备份和恢复数据;
l以GRID/ TEXT格式显示结果;
l支持客户端挑选、过滤数据;
l批量执行很大的SQL脚本文件;
l快速执行多重查询并能够返回每页超过1000条的记录集,而这种操作是直接生成在内存中的;
l程序本身非常短小精悍!压缩后只有348 KB ;
l完全使用MySQLC APIs程序接口;
l以直观的表格界面建立或编辑数据表;
l以直观的表格界面编辑数据;
l进行索引管理;
l创建或删除数据库;
l操纵数据库的各种权限:库、表、字段;
l编辑BLOB类型的字段,支持Bitmap/GIF/JPEG格式;
l输出数据表结构/数据为SQL脚本;
l支持输入/输出数据为CSV文件;
l可以输出数据库清单为HTML文件;
l为所有操作建立日志;
l个人收藏管理操作语句;
l支持语法加亮显示;
l可以保存记录集为CSV、HTML、XML格式的文件;
l21、99% 的操作都可以通过快捷键完成;
l支持对数据表的各种高级属性修改;
l查看数据服务器的各种状态、参数等;
l支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB;
l刷新数据服务器、日志、权限、表格等;
l诊断数据表:检查、压缩、修补、分析 。
l授权协议:GPLv2
l开发语言:C/C++
l操作系统: Windows
15、数据挖掘工具RapidMiner
RapidMiner是世界领先的数据挖掘解决方案 , 在一个非常大的程度上有着先进技术 。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价 。
功能和特点
l免费提供数据挖掘技术和库;
l100%用Java代码(可运行在操作系统);
l数据挖掘过程简单,强大和直观;
l内部XML保证了标准化的格式来表示交换数据挖掘过程;
l可以用简单脚本语言自动进行大规模进程;
l多层次的数据视图,确保有效和透明的数据;
l图形用户界面的互动原型;
l命令行(批处理模式)自动大规模应用;
lJava API(应用编程接口);
l简单的插件和推广机制;
l强大的可视化引擎,许多尖端的高维数据的可视化建模;
l400多个数据挖掘运营商支持;
l耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘 。

l授权协议:未知
l开发语言:Java
l操作系统:跨平台
16、Oracle 数据库开发工具Oracle SQL Developer
Oracle SQL Developer 是一个免费非开源的用以开发数据库应用程序的图形化工具,使用SQLDeveloper 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL语句 。另外还可以创建执行和保存报表 。该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持Windows、Linux 和 Mac OS X 系统 。

·授权协议:免费 , 非开源
·开发语言:Java
·操作系统:Windows Linux MacOS
17、EMS SQL Manager for MySQL
EMS SQL Manager for MySQL是一款高性能MySQL数据库服务器系统的管理和开发工具 。它支持从MySQL 3.23到6.0的任一版本,并支持最新版本的MySQL的特点,包括:查看、存储规程和函数、InnoDB外部键字和其他特点 。它提供了大量工具以满足富有经验的用户的所有要求 。添加了精心设计的操作向导系统,以及SQL Manager for MySQL那富有艺术感的图形用户界面,即使新手也可以不会为如何使用而感到困扰 。

l授权协议:商业软件
l开发语言:C/C++
l操作系统: Windows
18、数据库管理工具CoolSQL
CoolSQL是一个数据库客户端管理工具 。
·支持大部分数据库包括:DB2、oracle、mysql、MS SQL Server、Derby、HSQL、Informix、Sybase、PostgresSQL等 。
·为用户提供友好和漂亮UI,其整体框架由视图组成类似于Eclipse 。支持直接修改SQL查询结果 。
·支持将表格数据导出成文本文件,EXCEL和HTML 。
·拥有一个支持SQL语法着色显示 , 智能提示,文本编辑和查找的SQL编辑器 。
·能够展示数据库大部分元数据包括:版本 , 数据类型、函数,连接信息等 。
·支持导出数据对象信息包括对象数据(INSERT SQL语句),生成创建/删除脚本(create script/drop script) 。
·所有SQL脚本都可以以批量的模式执行 。
·能够搜索所有数据包括数据库列 , 表/视图和其他表格型 。
·支持i18n,当前提供两种语言(中文和英文) 。
·提供收藏功能,管理由用户收集的文本信息 。
·支持通过插件扩展其功能 。

ll 授权协议:未知
l开发语言:Java
l操作系统:跨平台
19、SQLite Manager
这是一款方便firefox对任何SQLite数据库操作的扩展 。使用这款扩展,可以在firefox下很容易的创建表格、建立索引、浏览搜索等操作 。此外它还具有一个语法检查功能的下拉式菜单,从而保证用户的操作不会出错 。

20、MySQL GUI Tools
这是MySQL官方专业的数据库管理工具,同时支持多种操作系统 。该工具包括下面三个产品:
·MySQL Administrator 1.2
·MySQL Query Browser 1.2
·MySQL MigrationToolkit 1.1

21、SQL客户端管理工具SQuirreL SQL Client
SQuirreL SQL Client是一个SQL客户端管理工具 。它允许你查看一个兼容JDBC的数据库的结构,浏览表格中的数据,运行SQL命令, 可连接的数据库有ORCAL,MS SQLSERVER, DB2 等, 它还允许用户安装和创建用于补充应用程序基本功能的插件 。

功能和特点:
l柱状图显示对像;
l自动完成;
l语句提示;
l标记;
l自动纠正;
l编辑查询结果;
l关系图;
l分页打印 。
l授权协议:未知
l语言:Java
l操作系统:跨平台
22、Tomcat管理工具EasyTomcat
EasyTomcat是一个用来帮助简化 Tomcat和 MySQL管理的系统,你可以启动、停止和配置Tomcat和MySQL服务器,同时也提供了监控的功能 。

l授权协议:未知
l开发语言:Java
l操作系统:跨平台
23、SQL Server管理工具sqlBuddy
SqlBuddy是C#编写的一款用于Microsoft SQLServer和MSDE的开源工具,使用它可以很容易的编写SQL脚本 。SqlBuddy提供的功能和查询分析器的目的有些微不同 , 它倾向于帮助使用者编写SQL 。

l授权协议:未知
l开发语言:C#
l操作系统: Windows
24、数据库开发工具GSQL
GSQL 是 Gnome 下的一个集成数据库开发工具 。数据库结构显示在下图左边的树状结构中,支持SQL的语法着色 。

l授权协议:未知
l操作系统:Linux
25、SQLite数据库管理SQLiteSpy
sqlitespy是一个快速和紧凑的数据库SQLite的GUI管理软件。它的图形用户界面使得它很容易探讨,分析和操纵sqlite3数据库 。

l授权协议:未知
l开发语言:Delphi/Pascal
l操作系统:Windows
26、数据库开发工具Aqua Data Studio
Aqua DataStudio 是一个为数据库开发人员准备的集成开发环境 , 可以对数据库做查询、管理 , 提供大量的数据库工具,例如数据库比较、源码控制等,目前支持的数据库包括:Oracle, DB2iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase Anywhere, Sybase IQ, Informix,PostgreSQL, MySQL, Apache Derby, JDBC, and ODBC.

l授权协议:未知
l开发语言:C/C++
l操作系统:跨平台
27、MySQL 架构管理工具MySQL MMM
MySQL Master-Master 架构常被用在 SQLquery 相依性低的情况,像是 counter常使用的INSERT INTO ... ON DUPLICATEKEY UPDATE a = a + 1不会因为out-of-order而造成问题 。而 MySQL MMM算是其中一套写得比较好的 MySQLMaster-Master架构管理工具 。
l授权协议:未知
l开发语言:Python
l操作系统: Linux
28、MySQL Client
MySQL的客户端工具,主界面如下:

l授权协议:未知
l操作系统:Windows

表结构设计器 1.24怎么用【数据库设计工具】表结构设计器是一个数据库建表的小软件 , 可快速的进行数据库表结构设计,建立数据模型 。软件特性表结构设计器是一个数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型 。包含功能:1. 表结构设计:创建表、字段、主键、外键、索引和注释;2. 表描述:可直接编辑文字描述快速生成表结构,爱用键盘的人会喜欢这个功能;3. 模型图:自动生成模型图;可设计和显示物理/逻辑视图,支持自动布局、平移、缩小放大等操作;4. 导入数据库:导入数据库中的已有对象,即所谓的逆向工程(目前只支持ORACLE);5. 生成数据库:可生成直接创建数据库的SQL脚本;也可与现有数据库比较 , 然后生成同步脚本的功能,不至于丢失现有数据 。

mysql数据库设计有没有类似PowerDesigner的工具收费的有Navicat for Mysql,当然也有绿色版,建议支持正版 。
免费的有DBeaver,开源免费,并且支持目前我用过的所有DB 。

mysql 可视化工具哪个比较好用你离大数据可视化 , 就只差一个RayData 。
MySql下最好用的数据库管理工具是哪个1. Induction

Induction是一款用于理解数据关系的开源管理工具 , 它可用来探索行/列,运行查询和数据可视化等方面 。该工具支持多种数据库,包括PostgreSQL,MySQL,SQLite,Redis以及MongoDB 。此外,Induction还可以通过编写添加其他新的适配器 。
2. Pinba

Pinba 是一种MySQL存储引擎 , 用于PHP实时监控和数据服务器的MySQL只读接口 。它整理并处理通过UDP发送的数据 , 并以可读的简单报告的形式统计显示多个PHP进程 。为了获取下一代更为复杂的报告和统计数据,Pinba提供了原始数据的只读接口 。
3. DB Ninja

DbNinja是一款先进的基于Web的MySQL数据库管理与开发应用程序 。它是远程访问托管服务器的必然之选 。DbNinja支持所有最新的功能,包括触发器、事件、视图、存储过程和外键等 。此外,它还可以导入和备份数据、MySQL对象结构以及管理用户等 。DbNinj的用户界面功能完备且清新美观,可安全地运用于任何浏览器及任何操作系统中 。

有没有在Ubuntu下比较好用的可视化MYSQL的数据库管理工具推荐两款:
1、MySQL Workbench
MySQL Workbench是一款图形化的数据库设计工具 , 它在一个开发环境中集成了SQL的开发,管理 , 数据库设计,创建以及维护 。它是 fabFORCE.net旗下DBDesigner 4的继承者,并替代了MySQL GUI Tools Bundle 。最早版本是5.0,是为了强调MySQL Workbench是作为DBDesigner4的继承者被开发出来的事实 。
2、Navicat:
用于MySQL的Navicat既是一个数据库管理器同时还是一个开发工具 。它适用于从3.21以上的任何MySQL数据库服务器,并且支持包括触发器,存储过程,函数,事件 , 预览和用户管理在内的绝大多数最新的MySQL功能 。

上面这两款工具都有Linux版本 。

数据库编程是用什么语言

数据库设计工具

文章插图

数据库编程是用sql语言 。SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言 。SQL通常使用于数据库的通讯 。ANSI(美国国家标准学会)声称 , SQL是关系数据库管理系统的标准语言 。SQL语句通常用于完成一些数据库的操作任务 , 比如在数据库中更新数据,或者从数据库中检索数据 。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等 。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统 。但是 , 标准的SQL命令,比如"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"常常被用于完成绝大多数数据库的操作 。扩展资料SQL常用语句1、SELECT语句作用:SELECT语句用于从表中选取数据 。结果被存储在一个结果表中(称为结果集) 。语法:SELECT目标表的一个或多个列名称,列名前可加表达式,如:avg(年龄)FROM目标表的名称;以及:SELECT*FROM表名称;2、SELECTDISTINCT语句作用:在一个表中,可能会包含重复值 。这并不成问题,不过,有时你也许希望仅仅列出不同(distinct)的值 。关键词DISTINCT作用就是用于返回唯一不同的值 。语法:SELECTDISTINCT列名称FROM表名称注释:*代表选取全部 。参考资料来源:百度百科—sql语言
数据库系统开发,用什么编程语言最好?首先 , 没有什么语言最好的说法 。不同的语言有不同的优点,适用于不同的应用领域 。
其次,数据库的确是分C/S,B/S结构的,他们的工作原理和开发语言都不一样 。C/S结构的开发语言很多,像VB,VC,DELHPI,C++等等 。而B/S就是浏览器服务器结构,开发语言以ASP,JSP为主 。
实际上,数据库是一个很大的计算机应用领域 , 要彻底弄清楚是很难的 。但是,很好的掌握一两门语言和开发技巧还是可以的 。

数据库和编程语言是什么关系?编程语言有很多种,例如java , c 。举一个例子说明,假如一个团队用java语言编写了一个社交网站,用户在注册这个社交网站的时候 , 填写的个人信息就是存储在这个网站的数据库里面的 。当然了,数据库也需要专门的语言去编写,才能把用户的数据保存起来 。所以,数据库和编程联系很紧密 。

是不是每个数据库都有自己的编程语言?可以啊
每一种数据库都有自己的编程语言
sql语言是它们的公共部分,还有很多自己数据库的东西是用自己的语言才能实现的

常用的数据库软件有哪些?它们的优缺点是什么?目前,商品化的数据库管理系统以关系型数据库为主导产品 , 技术比较成熟 。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品 。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES 。这些产品都支持多平台 , 如 UNIX、VMS、Windows,但支持的程度不一样 。IBM的DB2也是成熟的关系型数据库 。但是,DB2是内嵌于IBM的AS/400系列机中 , 只支持OS/400操作系统 。1.MySQLMySQL是最受欢迎的开源SQL数据库管理系统 , 它由 MySQL AB开发、发布和支持 。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司 。MySQL是MySQL AB的注册商标 。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器 。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去 。与其他数据库管理系统相比,MySQL具有以下优势:(1)MySQL是一个关系数据库管理系统 。(2)MySQL是开源的 。(3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器 。(4)MySQL服务器工作在客户/服务器或嵌入系统中 。(5)有大量的MySQL软件可以使用 。2.SQL ServerSQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业 。目前最新版本是SQL Server 2005 , 它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要 。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限 。SQL Server 提供了众多的Web和电子商务功能 , 如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问 , 具有强大的、灵活的、基于Web的和安全的应用程序管理等 。而且 , 由于其易操作性及其友好的操作界面,深受广大用户的喜爱 。3.Oracle提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文) 。该公司成立于1977年 , 最初是一家专门开发数据库的公司 。Oracle在数据库领域一直处于领先地位 。1984年,首先将关系数据库转到了桌面计算机上 。然后,Oracle5率先推出了分布式数据库、客户/服务器结构等崭新的概念 。Oracle 6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle 8主要增加了对象技术 , 成为关系—对象数据库系统 。目前 , Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一 。Oracle数据库产品具有以下优良特性 。(1)兼容性Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试 。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容 。(2)可移植性Oracle的产品可运行于很宽范围的硬件与操作系统平台上 。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作 。(3)可联结性Oracle能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等) 。(4)高生产率Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发 。(5)开放性Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性 。4.Sybase1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品 。Sybase主要有三种版本:一是UNIX操作系统下运行的版本; 二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本 。对UNIX操作系统 , 目前应用最广泛的是SYBASE 10及SYABSE 11 for SCO UNIX 。Sybase数据库的特点:(1)它是基于客户/服务器体系结构的数据库 。(2)它是真正开放的数据库 。(3)它是一种高性能的数据库 。5.DB2DB2是内嵌于IBM的AS/400系统上的数据库管理系统 , 直接由硬件支持 。它支持标准的SQL语言,具有与异种数据库相连的GATEWAY 。因此它具有速度快、可靠性好的优点 。但是 , 只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统 。DB2能在所有主流平台上运行(包括Windows) , 最适于海量数据 。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上都用DB2数据库服务器,而国内到1997年约占5% 。除此之外,还有微软的 Access数据库、FoxPro数据库等 。既然现在有这么多的数据库系统,那么在游戏编程时应该选择什么样的数据库呢?首要的原则就是根据实际需要,另一方面还要考虑游戏开发预算 。现在常用的数据库有:SQL Server、My SQL、Oracle、FoxPro 。其中MySQL是一个完全免费的数据库系统,其功能也具备了标准数据库的功能 , 因此,在独立制作时,建议使用 。Oracle虽然功能强劲,但它毕竟是为商业用途而存在的,目前很少在游戏中使用到 。

你所知道的数据库有哪些?各有什么优缺点?四、MySQL的主要优点
1、首先是速度,MySQL通常要比PostgreSQL快得多 。MySQL自已也宣称速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器 。但是在最新的文档中 , 我们看到MySQL 4.0.2-alpha已经开始支持事务,而且在MySQL的TODO中,对触发器、约束这样的注定会降低速度的功能也列入了日程 。但是,我们仍然有理由相信,MySQL将有可能一直保持速度的优势 。
2、MySQL比PostgreSQL更流行,流行对于一个商业软件来说,也是一个很重要的指标,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料 。
3、与PostgreSQL相比,MySQL更适宜在Windows环境下运行 。MySQL作为一个本地的Windows应用程序运行(在NT/Win2000/WinXP下,是一个服务),而PostgreSQL是运行在Cygwin模拟环境下 。PostgreSQL在Windows下运行没有MySQL稳定,应该是可以想象的 。
4、MySQL使用了线程,而PostgreSQL使用的是进程 。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多 。
5、MySQL可以适应24/7运行 。在绝大多数情况下,你不需要为MySQL运行任何清除程序 。PostgreSQL目前仍不完全适应24/7运行,这是因为你必须每隔一段时间运行一次VACUUM 。
6、MySQL在权限系统上比PostgreSQL某些方面更为完善 。PostgreSQL只支持对于每一个用户在一个数据库上或一个数据表上的INSERT、SELECT和UPDATE/DELETE的授权,而MySQL允许你定义一整套的不同的数据级、表级和列级的权限 。对于列级的权限,PostgreSQL可以通过建立视图,并确定视图的权限来弥补 。MySQL还允许你指定基于主机的权限,这对于目前的PostgreSQL是无法实现的,但是在很多时候,这是有用的 。
7、由于MySQL 4.0.2-alpha开始支持事务的概念,因此事务对于MySQL不再仅仅成为劣势 。相反,因为MySQL保留无事务的表类型 。这就为用户提供了更多的选择 。
8、MySQL的MERGE表提供了一个独特管理多个表的方法 。
9、MySQL的myisampack可以对只读表进行压缩,此后仍然可以直接访问该表中的行 。

关于数据库系统对比文件系统的优点有哪些?关于数据库系统对比文件系统的优点有:
1、提高了数据的共享性,使多个用户能够同时访问数据库中的数据 。
2、提高了数据的一致性和完整性 。
3、提供数据与应用程序的独立性 。

数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余 , 以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价 。对于数据的冗余是不能消除的,只能减小 。任何的数据库中都存在着数据冗余的现象,但这些都应该是合理的数据冗余 。

如果自己要建立一个小型数据库,你有什么建议?用sql , 有哪些方面的数据库选择?数据库设计方法、规范与技巧
一、数据库设计过程
数据库技术是信息资源管理最有效的手段 。数据库设计是指对于一个给定的应用环境 , 构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求 。
数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型) , 用E-R图来描述 。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式 。然后根据用户处理的要求,安全性的考虑 , 在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式 。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式 。
1. 需求分析阶段
需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求) 。
需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求 。
需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界 。
常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录 。
分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法 。自顶向下的结构化分析方法(Structured Analysis , 简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述 。
数据流图表达了数据和处理过程的关系 。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述 。
数据字典是各类数据描述的集合 , 它是关于数据库中数据的描述,即元数据,而不是数据本身 。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键) 。
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,
取值范围,取值含义,与其他数据项的逻辑关系}
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
数据流描述={数据流名 , 说明,数据流来源 , 数据流去向,
组成:{数据结构},平均流量,高峰期流量}
数据存储描述={数据存储名,说明,编号 , 流入的数据流,流出的数据流,
组成:{数据结构} , 数据量,存取方式}
处理过程描述={处理过程名 , 说明,输入:{数据流},输出:{数据流},
处理:{简要说明}}
2. 概念结构设计阶段
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示 。
概念模型用于信息世界的建模 。概念模型不依赖于某一个DBMS支持的数据模型 。概念模型可以转换为计算机上某一DBMS支持的特定数据模型 。
概念模型特点:
(1) 具有较强的语义表达能力 , 能够方便、直接地表达应用中的各种语义知识 。
(2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言 。
概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型 。
使用IDEF1X方法创建E-R模型的步骤如下所示:
2.1 第零步——初始化工程
这个阶段的任务是从目的描述和范围描述开始 , 确定建模目标,开发建模计划 , 组织建模队伍,收集源材料,制定约束和规范 。收集源材料是这阶段的重点 。通过调查和观察结果,业务流程 , 原有系统的输入输出 , 各种报表,收集原始数据 , 形成了基本数据资料表 。
2.2 第一步——定义实体
实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体 。根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表 。


2.3 第二步——定义联系
IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系 。根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明 , 确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系 。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系 。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的 。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系 。
2.4 第三步——定义码
通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码 。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值 。找出误认的确定关系,将实体进一步分解 , 最后构造出IDEF1X模型的键基视图(KB图) 。
2.5 第四步——定义属性
从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者 。定义非主码属性,检查属性的非空及非多值规则 。此外,还要检查完全依赖函数规则和非传递依赖规则 , 保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码 。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图 。
2.6 第五步——定义其他对象和规则
定义属性的数据类型、长度、精度、非空、缺省值、约束规则等 。定义触发器、存储过程、视图、角色、同义词、序列等对象信息 。
3. 逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型(例如关系模型) , 并对其进行优化 。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS 。
将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:
1)一个实体型转换为一个关系模式 。实体的属性就是关系的属性 。实体的码就是关系的码 。
2)一个m:n联系转换为一个关系模式 。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性 。而关系的码为各实体码的组合 。
3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并 。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码 。
4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 。
5)三个或三个以上实体间的一个多元联系转换为一个关系模式 。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性 。而关系的码为各实体码的组合 。
6)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理 。
7)具有相同码的关系模式可合并 。
为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化 。确定数据依赖 。消除冗余的联系 。确定各关系模式分别属于第几范式 。确定是否要对它们进行合并或分解 。一般来说将关系分解为3NF的标准,即:
表内的每一个值都只能被表达一次 。
表内的每一行都应该被唯一的标识(有唯一键) 。
表内不应该存储依赖于其他键的非键信息 。
4. 数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 。根据DBMS特点和处理的需要,进行物理存储安排 , 设计索引,形成数据库内模式 。
5. 数据库实施阶段
运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库 , 编制与调试应用程序,组织数据入库 , 并进行试运行 。数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库 、编制与调试应用程序、数据库试运行 6. 数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行 。在数据库系统运行过程中必须不断地对其进行评价、调整与修改 。包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造 。

建模工具的使用
为加快数据库设计速度 , 目前有很多数据库辅助工具(CASE工具) , 如Rational公司的Rational Rose,CA公司的Erwin和Bpwin , Sybase公司的PowerDesigner以及Oracle公司的Oracle Designer等 。
ERwin主要用来建立数据库的概念模型和物理模型 。它能用图形化的方式,描述出实体、联系及实体的属性 。ERwin支持IDEF1X方法 。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变 。ERwin工具绘制的模型对应于逻辑模型和物理模型两种 。在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性 。在物理模型中,ERwin可以定义对应的表、列 , 并可针对各种数据库管理系统自动转换为适当的类型 。
设计人员可根据需要选用相应的数据库设计建模工具 。例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序 。
二、数据库设计技巧
1. 设计数据库之前(需求分析阶段)
1) 理解客户需求 , 询问用户如何看待未来需求变化 。让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中 。
2) 了解企业业务可以在以后的开发阶段节约大量的时间 。
3) 重视输入输出 。
在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段 。
举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里 。
4) 创建数据字典和ER 图表
ER 图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据 。ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名 。对SQL 表达式的文档化来说这是完全必要的 。
5) 定义标准的对象命名规范
数据库各种对象的命名必须规范 。
2. 表和字段的设计(数据库逻辑设计)
表设计原则
1) 标准化和规范化
数据的标准化有助于消除数据库中的数据冗余 。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡 。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性 , 当不是它们本身所具有的属性时需进行分解 。表之间的关系通过外键相连接 。它具有以下特点:有一组表专门存放通过键连接起来的关联数据 。
举例:某个存放客户及其有关定单的3NF 数据库就可能有两个表:Customer 和Order 。Order 表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向Customer 表里包含该客户信息的那一行 。
事实上 , 为了效率的缘故 , 对表不进行标准化有时也是必要的 。
2) 数据驱动
采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性 。
举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等) , 不妨把相应的连接和路径信息存储在用户界面支持表里 。还有 , 如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里 。角色权限管理也可以通过数据驱动来完成 。事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程 。
3) 考虑各种变化
在设计数据库的时候考虑到哪些数据字段将来可能会发生变更 。举例,姓氏就是如此(注意是西方人的姓氏 , 比如女性结婚后从夫姓等) 。所以 , 在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化 。

字段设计原则
4) 每个表中都应该添加的3 个有用的字段
dRecordCreationDate,在VB 下默认是Now(),而在SQL Server 下默认为GETDATE()
sRecordCreator,在SQL Server 下默认为NOT NULL DEFAULT USER
nRecordVersion,记录的版本标记;有助于准确说明记录中出现null 数据或者丢失数据的原因
5) 对地址和电话采用多个字段
描述街道地址就短短一行记录是不够的 。Address_Line1、Address_Line2 和Address_Line3 可以提供更大的灵活性 。还有,电话号码和邮件地址最好拥有自己的数据表 , 其间具有自身的类型和标记类别 。
6) 使用角色实体定义属于某类别的列
在需要对属于特定类别或者具有特定角色的事物做定义时,可以用角色实体来创建特定的时间关联关系,从而可以实现自我文档化 。
举例:用PERSON 实体和PERSON_TYPE 实体来描述人员 。比方说,当John Smith, Engineer 提升为John Smith, Director 乃至最后爬到John Smith, CIO 的高位 , 而所有你要做的不过是改变两个表PERSON 和PERSON_TYPE 之间关系的键值,同时增加一个日期/时间字段来知道变化是何时发生的 。这样,你的PERSON_TYPE 表就包含了所有PERSON 的可能类型,比如Associate、Engineer、Director、CIO 或者CEO 等 。还有个替代办法就是改变PERSON 记录来反映新头衔的变化,不过这样一来在时间上无法跟踪个人所处位置的具体时间 。
7) 选择数字类型和文本类型尽量充足
在SQL 中使用smallint 和tinyint 类型要特别小心 。比如,假如想看看月销售总额 , 总额字段类型是smallint , 那么,如果总额超过了$32,767 就不能进行计算操作了 。
而ID 类型的文本字段,比如客户ID 或定单号等等都应该设置得比一般想象更大 。假设客户ID 为10 位数长 。那你应该把数据库表字段的长度设为12 或者13 个字符长 。但这额外占据的空间却无需将来重构整个数据库就可以实现数据库规模的增长了 。
8) 增加删除标记字段
在表中包含一个“删除标记”字段 , 这样就可以把行标记为删除 。在关系数据库里不要单独删除某一行;最好采用清除数据程序而且要仔细维护索引整体性 。
3. 选择键和索引(数据库逻辑设计)
键选择原则:
1) 键设计4 原则
为关联字段创建外键 。
所有的键都必须唯一 。
避免使用复合键 。
外键总是关联唯一的键字段 。
2) 使用系统生成的主键
设计数据库的时候采用系统生成的键作为主键,那么实际控制了数据库的索引完整性 。这样,数据库和非人工机制就有效地控制了对存储数据中每一行的访问 。采用系统生成键作为主键还有一个优点:当拥有一致的键结构时,找到逻辑缺陷很容易 。
3) 不要用用户的键(不让主键具有可更新性)
在确定采用什么字段作为表的键的时候,可一定要小心用户将要编辑的字段 。通常的情况下不要选择用户可编辑的字段作为键 。
4) 可选键有时可做主键
把可选键进一步用做主键,可以拥有建立强大索引的能力 。

索引使用原则:
索引是从数据库中获取数据的最高效方式之一 。95%的数据库性能问题都可以采用索引技术得到解决 。
1) 逻辑主键使用唯一的成组索引 , 对系统键(作为存储过程)采用唯一的非成组索引 , 对任何外键列采用非成组索引 。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写 。
2) 大多数数据库都索引自动创建的主键字段 , 但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上 。
3) 不要索引memo/note 字段 , 不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间 。
4) 不要索引常用的小型表
不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了 。对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间 。

4. 数据完整性设计(数据库逻辑设计)
1) 完整性实现机制:
实体完整性:主键
参照完整性:
父表中删除数据:级联删除;受限删除;置空值
父表中插入数据:受限插入;递归插入
父表中更新数据:级联更新;受限更新;置空值
DBMS对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机制
用户定义完整性:
NOT NULL;CHECK;触发器
2) 用约束而非商务规则强制数据完整性
采用数据库系统实现数据的完整性 。这不但包括通过标准化实现的完整性而且还包括数据的功能性 。在写数据的时候还可以增加触发器来保证数据的正确性 。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上 。
3) 强制指示完整性
在有害数据进入数据库之前将其剔除 。激活数据库系统的指示完整性特性 。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件 。
4) 使用查找控制数据完整性
控制数据完整性的最佳方式就是限制用户的选择 。只要有可能都应该提供给用户一个清晰的价值列表供其选择 。这样将减少键入代码的错误和误解同时提供数据的一致性 。某些公共数据特别适合查找:国家代码、状态代码等 。
5) 采用视图
为了在数据库和应用程序代码之间提供另一层抽象 , 可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表 。这样做还等于在处理数据库变更时给你提供了更多的自由 。
5. 其他设计技巧
1) 避免使用触发器
触发器的功能通常可以用其他方式实现 。在调试程序时触发器可能成为干扰 。假如你确实需要采用触发器,你最好集中对它文档化 。
2) 使用常用英语(或者其他任何语言)而不要使用编码
在创建下拉菜单、列表、报表时最好按照英语名排序 。假如需要编码,可以在编码旁附上用户知道的英语 。
3) 保存常用信息
让一个表专门存放一般数据库信息非常有用 。在这个表里存放数据库当前版本、最近检查/修复(对Access)、关联设计文档的名称、客户等信息 。这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用 。
4) 包含版本机制
在数据库中引入版本控制机制来确定使用中的数据库的版本 。时间一长 , 用户的需求总是会改变的 。最终可能会要求修改数据库结构 。把版本信息直接存放到数据库中更为方便 。
5) 编制文档
对所有的快捷方式、命名规范、限制和函数都要编制文档 。
采用给表、列、触发器等加注释的数据库工具 。对开发、支持和跟踪修改非常有用 。
对数据库文档化,或者在数据库自身的内部或者单独建立文档 。这样,当过了一年多时间后再回过头来做第2 个版本,犯错的机会将大大减少 。
6) 测试、测试、反复测试
建立或者修订数据库之后,必须用用户新输入的数据测试数据字段 。最重要的是,让用户进行测试并且同用户一道保证选择的数据类型满足商业要求 。测试需要在把新数据库投入实际服务之前完成 。
7) 检查设计
在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库 。换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据 。
三、数据库命名规范
1. 实体(表)的命名
1) 表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词 , 就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名,其余依次类推)
对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字 。在命名过程当中,根据语义拼凑缩写即可 。注意,由于ORCLE会将字段名称统一成大写或者小写中的一种,所以要求加上下划线 。
举例:
定义的缩写 Sales: Sal 销售;
Order: Ord 订单;
Detail: Dtl 明细;
则销售订单明细表命名为:Sal_Ord_Dtl;
2) 如果表或者是字段的名称仅有一个单词 , 那么建议不使用缩写,而是用完整的单词 。
举例:
定义的缩写 Material Ma 物品;
物品表名为:Material, 而不是 Ma.
但是字段物品编码则是:Ma_ID;而不是Material_ID
3) 所有的存储值列表的表前面加上前缀Z
目的是将这些值列表类排序在数据库最后 。
4) 所有的冗余类的命名(主要是累计表)前面加上前缀X
冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表
5) 关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写 。
关联表用于保存多对多关系 。
如果被关联的表名大于10个字母,必须将原来的表名的进行缩写 。如果没有其他原因,建议都使用缩写 。
举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;
表 Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp
2. 属性(列)的命名
1) 采用有意义的列名,表内的列要针对键采用一整套设计规则 。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名 。如果键是数字类型,你可以用_NO 作为后缀;如果是字符类型则可以采用_CODE 后缀 。对列名应该采用标准的前缀和后缀 。
举例:销售订单的编号字段命名:Sal_Ord_ID;如果还存在一个数据库生成的自动编号,则命名为:ID 。
2) 所有的属性加上有关类型的后缀 , 注意 , 如果还需要其它的后缀 , 都放在类型后缀之前 。
注: 数据类型是文本的字段,类型后缀TX可以不写 。有些类型比较明显的字段 , 可以不写类型后缀 。
3) 采用前缀命名
给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候会得到大大的简化 。这样做也确实有缺点,比如破坏了自动表连接工具的作用 , 后者把公共列名同某些数据库联系起来 。
3. 视图的命名
1) 视图以V作为前缀 , 其他命名规则和表的命名类似;
2) 命名应尽量体现各视图的功能 。
4. 触发器的命名
触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加'_I',Delete触发器加'_D' , Update触发器加'_U' , 如:TR_Customer_I,TR_Customer_D,TR_Customer_U 。
5. 存储过程名
存储过程应以'UP_'开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分 。如增加代理商的帐户的存储过程为'UP_Ins_Agent_Account' 。
6. 变量名
变量名采用小写,若属于词组形式,用下划线分隔每个单词,如@my_err_no 。
7. 命名中其他注意事项
1)以上命名都不得超过30个字符的系统限制 。变量名的长度限制为29(不包括标识字符@) 。
2)数据对象、变量的命名都采用英文字符,禁止使用中文命名 。绝对不要在对象名的字符之间留空格 。
3) 小心保留词 , 要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性 。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了 。

1.数据库逻辑设计阶段的主要工作是什么?设计数据库的逻辑结构,与具体的DBMS无关,主要反映业务逻辑 。数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作 。
数据库逻辑设计决定了数据库及其应用的整体性能 , 调优位置 。如果数据库逻辑设计不好,则所有调优方法对于提高数据库性能的效果都是有限的 。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守 。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间 , 同时加快了增、删、改的速度 。
另外,在规范的数据库逻辑设计时 , 还应考虑适当地破坏规范规则,即反规范化设计,来降低索引、表的数目,降低连接操作的数目,从而加快查询速度 。常用的反规范技术有增加冗余列、增加派生列、重新组表等 。
总之,在进行数据库逻辑设计时,一定要结合应用环境和现实世界的具体情况合理地选择数据库模式 。

数据库逻辑设计的主要任务是( ) A建立E-R图和说明书B创建数据库说明C建立数据流图D把数据送到数据库C
A是需求分析的
B , 不知道,分明是乱写出来的 。
D,和B一样

数据库中概念设计阶段的主要任务是什么?数据库设计可以分为概念结构设计、逻辑结构设计和物理结构设计三个阶段 。(1)概念结构设计 。这是数据库设计的第一个阶段,在管理信息系统的分析阶段,已经得到了系统的数据流程图和数据字典,现在要结合数据规范化的理论,用一种数据模型将用户的数据需求明确地表示出来 。概念数据模型是面向问题的模型,反映了用户的现实工作环境,是与数据库的具体实现技术无关的 。建立系统概念数据模型的过程叫做概念结构设计 。(2)逻辑结构设计 。根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特性,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型 。不同的数据库管理系统提供了不同的逻辑数据模型,如层次模型、网状模型、关系模型等 。(3)物理结构设计 。为一个确定的逻辑数据模型选择一个最适合应用要求的物理结构的过程,就叫做数据库的物理结构设计 。数据库在物理设备上的存储结构和存取方法称为数据库的物理数据模型 。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据 , 而转变成用户所需要的各种数据管理的方式 。数据库有很多种类型 , 从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用 。在信息化社会 , 充分有效地管理和利用各类信息资源 , 是进行科学研究和决策管理的前提条件 。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分 , 是进行科学研究和决策管理的重要技术手段 。
数据库中概念设计阶段的主要任务是什么数据库设计可以分为概念结构设计、逻辑结构设计和物理结构设计三个阶段 。(1)概念结构设计 。这是数据库设计的第一个阶段,在管理信息系统的分析阶段,已经得到了系统的数据流程图和数据字典,现在要结合数据规范化的理论,用一种数据模型将用户的数据需求明确地表示出来 。概念数据模型是面向问题的模型,反映了用户的现实工作环境,是与数据库的具体实现技术无关的 。建立系统概念数据模型的过程叫做概念结构设计 。(2)逻辑结构设计 。根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特性 , 按照一定的转换规则 , 把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型 。不同的数据库管理系统提供了不同的逻辑数据模型 , 如层次模型、网状模型、关系模型等 。(3)物理结构设计 。为一个确定的逻辑数据模型选择一个最适合应用要求的物理结构的过程,就叫做数据库的物理结构设计 。数据库在物理设备上的存储结构和存取方法称为数据库的物理数据模型 。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前 , 随着信息技术和市场的发展 , 特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据 , 而转变成用户所需要的各种数据管理的方式 。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用 。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件 。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段 。
linux 下有什么好用的 MYsql 图形化管理工具推荐两款:
1、MySQL Workbench
MySQL Workbench是一款图形化的数据库设计工具,它在一个开发环境中集成了SQL的开发,管理,数据库设计,创建以及维护 。它是 fabFORCE.net旗下DBDesigner 4的继承者,并替代了MySQL GUI Tools Bundle 。最早版本是5.0,是为了强调MySQL Workbench是作为DBDesigner4的继承者被开发出来的事实 。
2、Navicat:
用于MySQL的Navicat既是一个数据库管理器同时还是一个开发工具 。它适用于从3.21以上的任何MySQL数据库服务器,并且支持包括触发器 , 存储过程,函数,事件,预览和用户管理在内的绝大多数最新的MySQL功能 。

linux 下有什么好用的 MYsql 图形化管理工具phpMyAdmin:phpMyAdmin是最常用的MySQL维护工具 , 是一个用PHP开发的基于Web方式架构在网站主机上的MySQL管理工具,支持中文,管理数据库非常方便 。不足之处在于对大数据库的备份和恢复不方便 。
MySQLDumper:MySQLDumper使用PHP开发的MySQL数据库备份恢复程序 , 解决了使用PHP进行大数据库备份和恢复的问题,数百兆的数据库都可以方便的备份恢复,不用担心网速太慢导致中间中断的问题,非常方便易用 。这个软件是德国人开发的 , 还没有中文语言包 。
Navicat:Navicat是一个桌面版MySQL数据库管理和开发工具 。和微软SQLServer的管理器很像,易学易用 。Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松 。支持中文,有免费版本提供 。

linux上的数据库工具有哪些有oracle和mysql但是在刘遄老师的《linux就该这么学》第18章 使用MariaDB数据库管理系统 中这样写道:
MYSQL数据库管理系统被Oracle公司收购后从开源换向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB 。本章节将教会您使用mariaDB数据库管理工具来管理数据库,学习对数据表单的新建、搜索、更新、插入、删除等常用操作 。并且熟练掌握对数据库内用户的创建与授权,数据库的备份与恢复方法,不仅满足了RHCE考题要求,还能帮助您的运维工作 。

所以建议学习下MariaDB , 具体的操作可参考下:http://www.linuxprobe.com/chapter-18.html

linux下c/c++开发数据库类的软件,主流用什么数据库市场上现在应用较多的是:oracle db2 mysql sysbase informix等数据库
对于在数据库上做开发,大型数据库的公司都会提供相应的开发工具:如:
oracle的proc
db2的 db2
informix的esql
不同的数据库嵌入式c程序名也规定不同,如:
oracle的 .pc .pcpp
informix的 .ec .ecpp
db2的 .sqc 等
总的来说 oracle占的市场份额大一些 。

linux有什么好的mysql数据库的可视化工具么navicat就可以了