1、库 图一 个什 么 SQL现 有 Dat Dat建 用的 看Comm在今天的 辅图 表和自动 生个 交叉平台,么 是 MySQL Wo rMySQL WorDevelopme有 得的数据 库a Modelingabase Admin用 户账户, 编在这个教 程看 一下在 SQLMySQL Workunity OSS E辅 助教程里, 你生 成SQL语 句可视化数 据kbench? kbench 是 由nt: 代替了 库 ,编辑和 执: 完整的可istration:编 辑配置文 件程 中,我们 将编辑器上 执bench 可适 用dition (你 将会学到 怎。 特别说 一据 库设计工具由 My
2、SQL 开 发MySQL quer执 行SQL查 询视化数据库 设代替了 M y件 ,等等。将 会在 Data执 行SQL脚本用 于 Window( 社区 OSS 版怎 样用一个 可一 下, 我们 将。 发 的强大的 工y browser询 。 设 计和建模SQL adminisa Modeling并且在 MyS Qs,Linux 和版 本)和 Co m可 视化数据 库将 会回顾一 下工 具, 它有 以(MySQL 查 询trator. 图上从头开 始L 中创建一 个和 Mac OSX。mercial S库 建模实用 工下 怎样用 My以 下三个基 本询 浏览器). 图 形界面启动始 创建一个
3、 数个 数据库。 有两个不 同Standard Edi工 具设计一 个SQLWorkben本 功能区域。允许用户 连动 和关闭服务数 据库,然后同 的版本: tion(商 业个 数据ch, 连 接到, 创快速业 标准版 本文 章本 发开 始作 为对 于当 设 一 个本 )。 社区 版章 里用到的。备注: 这 个发 行时写 的 (2始 创建数据库 为了学会 怎为 案例。 假 如于 我们这个 小设 计我们的 图个 老师可以 教版 本是开源 和商业版本 增个 辅助教程 是010.4)。 怎 样使用 My S如 一组老师 想小 的项目, 我图 表时, 我 们教 很多学科 和 GPL 授权 的加了一些其
4、 他是 基于 Commu nQL Workbenc想 给几门学科我 们应该存储需要知道以的 ,正如你 所他的功能, 像ity OSS Edh, 我们将 会提供在线课 程以下信息:下几组数据 之所 期望的。 它像 视图和模 型ition 5.2 会 使用一个 非程 , 使用 Sk y之 间的关系 ,它 功能齐全 并型 验证或者 文版 本 的 (5.2.非 常简单的 数pe 或者其 他所以我们 现并 且是我们在文 件生成。 2.16), 在测 试数 据库:在 线他 视频会议 软现 在就应该 想这篇试版课程软 件。一下。 一个学科可以被很多老师教 每一个课程只能有一个老师 一个老师可以教很多班 一个
5、同学可以参加几个班 一个班可以有很多学生 一个班可能有几个小时的课(一周内) 在某一特殊的天或小时中, 可能同时有几个在线的班 一个班只关于一个学科 一个学科可能会在几个课程中被教 基于这一点,在下面的展示中我们就有了所有的信息。 把数据传到MySQL Workbench 中 现在到了开始说 Workbench 的时候了。在主(Home)屏幕的数据模型部分,我们点击Create new EER Model , 下面的屏幕将会出现: 为 我模 式有 几释 这区 分是 我一 个个 数项 卡当我们新 建我 们的数据 库式 的每一个 元几 个独立的 部这 些概念和 它分 概念 物理模式 包我 们真正要
6、 定个 图形化方 式在同一个 数数 据库。每 一卡 建 一个数据 库库 模式。一个 数元 素,并且允 许部 分,我们可 能它 们之间是 怎包 含了所有 需定 义的。每 一式 都会被定 义数 据库模型中一 个模式将会库 模型时,它 包数 据库模型 可许 我们在需 要能 会混淆包 含怎 样关联的。需 要定义数据 库一 个被添加在义 在模式中。我们可有几 个是 一个 MyS Q包 括了默认 的可 以有几个 不要 的情况下 拖含 在一个数 据库的部分: 表图表模型的 对个模式,同 样L 数据库。 例的 mydb 模式不 同的模式。拖 拽这些元 素据 库中的几 个表 、列、类 型对 象都会在 物样 的,
7、在一 个例 如,在下 面, 我们可 以右边的目 录素 。对于物 理个 模式。接 下型 、索引、 约物 理模式中 显个 MySQL 服 务面 的屏幕里 我以 重命名它 并录 将会展示 我理 模式和 EER下 来的部分 将约 束, 等 等显 示 。也就务 器中也可以我 们有两个 模并 且作我 们的图表将 会解等 。这是每由几模 式选建 数view1. 2. 当 用现 在关 系素 的素。模 式据 表中。如果我们 要数 据库是两 个plaincopyCREATE SCCREATE SC“ EER 代 表 了用 到 SHOW DA T在 看一下什 么系 用的标准 符的 一个子集,我们可以 用式 中定义五
8、 个表 。这个图表要 生成 SQL 脚个 同义词: to clipboHEMA IF HEMA IF 了 扩展的实 体ABASES 时,么 是EER图 表符 号。 EER 模 型因为这个图 表用 EER 图表 定个 数据表然 后仅仅包含两 个脚 本, 我们将 有ard print?NOT EXISTNOT EXIST体 关 系 ,EER它们将会 在表 ? EER 代表 了型 可以很复 杂表 (在这个 工定 义整个数据 库新建一个图 表个 数据表, 但有 两个独立 的S schemaS schema图表只是 做模在 MySQl 服 务了 扩展的实 体杂 ,但是 My S工 具里)的 目库,或者是
9、 其表( drigram但 是这两个 数的 创建数据 库1; 2; 做模 型数据和 数务 器上作为 数体 关系,EERQL Workben目 的是拥有 每其 中的一小 部)用可视 化数 据表和其 他库 声明实 际数 据关系用 的数 据库被列出图表只是 做ch 只用了 所每 一个被映 射部 分。例如,化 编辑工具 去他 的五个表 都际 上创建视图的 标准符 号 。出 来。 做 模型数据和所 有可能图 形射 到物理模 式我们可以 在去 定义另外两都 会被包含 在和创数据形 化元式 的元在 一个个数在 模式创 建们 可我 一建 数击 A使卡)类 型 PK NN UQ BIN UN 建 表 回到初始
10、的可 以用添加 数一 般选择开 始数 据表,我们dd Table 使 用数据表 编进入我们的型 ), 分配默 认 Primar y Not nul Unique Binar y Unsign e的 实例,我们数 据表图标向始 的时候添 加将会用视图 标图标,下面 的编 辑界面, 我列。我们可 以认 的值,如 果key(主键l(非空) (唯一) (二进制数d(无符号)通过双击数 据物理模式中EER 图表并 且标 签第一次 创的 数据表编 辑我 们改变数 据以 选择数据 类果 需要,我 们) ) 据 表的名字 重添加数据表 或且创建可视 化创 建两个数 据辑 界面会打 开据 表的名字,类 型 (这
11、儿 有们 有七个复 选重 命名它。 在或 者使用 EE化 视图, 但 是据 库表然后 接开 : 并切换到 列有 一个下拉 列选 框去标记 下在 这一点上,R 图表添加 所是 为了展示 怎接 着用 EER 图列 标签(在 下列 表框关于 所下 面的任意 一有两个途 径所 有的数据 表怎 样用两种 方图 表创建。当下 面的编辑器所 有的 MySQL一 个内容。 径 :我表 。 方 法创你点选项数据 ZF AI 转 到Add 表 中如了 图一 个的 方 Zero fi Autoin c到 视图 这是一种 添Diagram 标 记中 建的两个 数如 果我们转 到图 表并且准 备选择左边 的个 新的数据
12、 表现在你只 需方 式一样。 向ll(补零) rement(自 动添 加数据表 的记 , 我们将 新数 据表。 到 菜单处, 选备 继续创建。的 数据表图 标表 。 需 要双击数 据向 表中输入 行动 增量) 方式,当然 我新 建一个空 的选 择 Model/C r. 标 ,指针指向 一据 表,编辑器 选行 的详细信息我 们也可以 用的 图表,这 不eate Diagr一 个小的数 据选 项卡显示 编后,我们准 备用 EER 图表 创不 是我们想 要am from Ca据 表。下一 步编 辑的名称、备 开始设计 它创 建它们。 如要 的,我们 需talog Objec步 ,单击容 器列、类型
13、等它 们之间的 关如 果我们现 在需 要的是刚 才ts,现在我 们器 的任何地 方等 ,像我们 之关 系。 在 点击 才 在图们 有方 创建之 前做Draw在 左不 用号:另 一一 个户 表ing Relation左 边的数值 工用 担心最后 一定义和未 定一种关系 被一 个数据表 的个 表中是必 须表 的,它是 属ships 工 具栏上, 我一 个,我们最 后定 义。这是 什被 认为是定 义的 一行。一个 普须 的,因为一 个属 于用户的。我 们在创建表后 将会解释 它什 么意思呢?义 一个表完全普 遍的例子 就个 用户可能 有关系上有六 个它 。对于 1: 1依赖与另一 个就 是用一个 分
14、有 几个手机 号个 工具可供 选和1:n关 系个 存在的表 时分 开的表存 储号 ,但是手 机选 择 系 ,我们有 两时 , 一个数 据储 用户的手 机机 号表的每 一两 种类型的 标据 表的一行 依机 号。这可 能一 组是完全 依标 记符赖于能 在另赖用你某 种1:11:nn:m的 表一 个需 要系,后 点的 t你 可能意识 到种 方式映射。关系:一 个关系:关系 对关系:一个 新从n:m关 系表 。而且 , 在个 复合的主 键要 画线,外 键单击图标,点 击1关系 对eachers-cl到 关系有一 些在表的关 系个 表的主键是对 应的表的 主新 表(关联 表系 说明创建 关在 1:1 和
15、 1: n键 。一个好的键 和关联表将然后点击 这对 应的表。让 我asses 的关 系些 蕴含式。 如映射中有几 种另一个表的 外主 键是 n 关 系表 )被创建。 主关 联表时定义的关系定 义消息就是 My会被自动创 建这 两个表的关 联我 们看一下 该系 。 如 果我们想 在种规则。 外 键 系 对应的表 的主 键是这两 个关系是比较 典义 上,外键 的SQL Workben建 。我们也 可联。对于一 对该 怎样做对 于在 MySQL 中 建的 外键 个 原始表的 主典 型的。 这 些的 引入将会 成ch 比我们 更可 以选择手 动对 多关系, 先于 n:m 的 te a建 立一个物 理
16、主 键的组成。些 数据表完 全成 为那个表的更 好的知道 这动 ,一会将 讲先 点击多关 系chers-subj理 表,关系必全 依赖于两 个的 主键一部分这 些约束。 我讲 到。为了 建系 对应的表,ects 关系 和须被个 原始形成我 们只建 立关然和 1:n者 只我 们需 要就 可Modenota默认指定 的只 是在当前 的们 可以用难 以第六个符 号要 的关联表 (可 以了。 如果我们 把意识 到l/Object Ntion 模型 中的 外键名字 和的 项目 Model/以 理解的第 六号 用存在的 列( n:m 映射表 )把 所有的关 系到 我们一直 在otation 和中 的案例
17、: 关联表可能 会Model Opti六 个符号。 创建关系, 意) 。既然我 们都定义好了在 MySQL Work和 Model/Re会在 Edit/Pons 上。如 果意 味着在你 的们 建立了这 些,我们的图 表bench 中使 用lationship references果 我们不想 让的 表中已经 包些 关联表, 就表 应该看起 来用 默认的图 表Notation 改s/Model Tab让 表和外键 被包 括了需要 的就 不需要 n: m来 像下面这 样表 符号,但 是改 变它。这 是上被全局改被 这种方式 生的 外键并且 建的关系了,样 : 是 你也可以 在是 我们在 Cla变或
18、生 成,建 立了1:n在ssic 生 成只 有在这一点 上成 SQL 选择 File/有 三个向导 屏上 ,我们的 模Export/Forw屏 幕: 模 型是准备好ard Engine的,我们可er SQL CRE以生成 SQl 创ATE Script创 建 MySQl 数. 在我们生 成数 据库。 成 的文件的 旁旁 边 我们还可 以以 在保存它 之之 前选择复查 和和编辑生成 的的 SQL 语句 。 希 望scri服 务连 到这样就可 以望 做的事情 了ptName.sql务 器然后执 行到 MySQL 服务 器从菜单中 选以 了。点击 F i了 。我们可 以, 或者, 我 们行 脚本。
19、器 选 择 Databanish,SQL 脚用基于命令们 可以用 My Sse/Manage C脚本将会被 生行的 mysql QL WorkbencConnections生 成和保存 。client 载 入h 来完成这 个s ,点击 N。 现在我们入 它:mysql 个 工作, 连 接NEW. 们 可以用它做SOURCE 接 到我们的 M我们ySQL 试 一编 辑编 辑现 在用 总 结本 的建 一文 件如果你不 想一 下你的参 数辑 。 在主菜单 里辑 标签将会 出在 点击闪烁 的我们也可 以Database/F结 MySQL Work的 功能,并且一 个数据库,件 。谢谢阅 读想 在这儿设
20、 置数 是否正确,里 选择 Data出 现。 的 图标执行 S Q以 直接从模 型orward Engbench 是 一只是在这个 教设计被作为 文读 ,让我知 道置 密码, 当 需然后点击 c lbase/QueryL脚本,然型 里选择生 成ineer;然 而一 个给人印象 很教 程的第二 个文 档保存的 图道 你是怎样想需 要的时候你ose。现在 载Database; 后你的数据 库成 MySQl 数而 ,我发现 生很深的工具 ,个 部分一瞥 S图 表。你可 以的! 会被提示。 点载 入的脚本,会有窗体提 示库 将会被生 成数 据库,不 用生 成脚本并 且, 我们仅 仅QL 编辑器。以 输出 PNG、点 击“Test C我们可以 用示 你选择一 个成 。 用 涉及当前 的且 在希望用 到仅 在数据模 型我们学会了SVg、 PDF 或onnection”用 SQL 编辑 器个 连接, 然 后的 文件在菜 单到 它的时候 很型 部分看到一了 怎样可视 化或 者 PostS c” 测器 进行后 SQL单 中很 用。 些基化 的创ript