zoukankan      html  css  js  c++  java
  • 新手学习数据库(一)用Powerdesigner设计数据库

    说明:

    一.学会用开发语言进行数据库编程,其关键是在于学会sql语言,开发语言只不过给程序员提供了一个操作数据库的接口罢了。

    二. 本人也是初学者,采用的数据库设计软件是powerdesigner。利用该软件用户可以设计E-R图,然后软件会自动根据E-R图生成创建数据库表,即表间约束的sql语句。

    三.由于powerdesigner安装软件大于220M,无法上传,所以请使用者自己百度下载。

    四.学习数据库的数据。本人用的是微软的sql2000.sql语句的参考书籍是《SQL Server 2005基础教程》闪四清编著,清华大学出版社。数据库理论概念学习用的教材是数据库系统概念《DATABASE SYSTEM CONCEPTS》作者:Abraham Silberschatz, Henry F.Korth ,S.Sudarshan 高教出版社,本人用的是英文版本的。强烈向大家推荐这本书。之前在大学的时候学数据库用的是王珊,萨师宣编著的那本,结果学完了还是一头雾水。对于《DATABASE SYSTEM CONCEPTS》初级学习者只需要学习 2,3,4,6,7,14,15,16,10章即可。北京邮电大学计算机系的本科生,也是学的这几章。

    五.本人下面设计的数据库,是对《DATABASE》书第三章的E-R图进行的实现(初学者也可直接从我的CSDN下载空间下载数据库生成代码,直接生成该数据库,直接用于各种操作练习,毕竟一个规模小的数据库,更适合初学者进行操作)
    六.如果大家有学习需要建议到我指定的下载地址去下载我的powerdesigner设计工程,以此为实例进行学习,因为在博客中只能将重点略加说明。

    具体设计:

    打开POWERDESIGNER软件,文件菜单->新模型->概念数据模型,设置E-R图

     
    设计E-R图的时候要注意三点:1:属性名不能重复例如:table 1 有一个属性叫做 customer-id ,那么table 2 中就不能有名字为customeer-id这个属性了,否则设计软件将会出差。
    2:我们下面说一下关系的 maping cardinality ,以及 cardinality constraint
    以实体customer和loan为例。
    customer和loan 之间的映射关系应为many to many .即一个顾客可以有1个多个或是没有贷款,一个贷款可以属于一个或多个用户。所以 customer->loan的映射限制应为0,n。即一个customer最少可以有0个贷款,最多可以有很多(n)个贷款;loan->customer的映射限制为(1,n)。即一个贷款可以被至少一个客户所拥有,或被很多个用户所拥有。(注意:如果一个贷款没有用户,那么它在作为loan实体集的一个实体的意义也就没了)。如下图所示


    3:我们要说一下Mandatory的意思。它的本意是必须,在这里只不为空的意思。即NOT null.我们再举一个例子进行说明:
    在银行实体中,每个银行实体的branch-city选项都应该不为空,assets选项可以为空(银行可能刚建立,没有资产。但是银行一旦建立,就应该有所在地,不可能在天上建!)如下图所示:



    在我们设计好了E-R 图之后,选择菜单tools->generate physical data model。如下图所示

    我们可以看到一共六个表。原 E-R 图中有四个实体(branch ,customer,loan,account)四个关系(branch-loan,branch-account,borrower,depositer。由于loan 与branch的关系是many to one ,并且,loan实体集中的每个loan实体都参与到了branch-loan关系中,所以这个关系对应的表和“many” 一方的实体集所对应的表进行了合并,正如《database》一书中2.9.3.2 combination of tables 一节中所描述的理论那样。关系branch-account也是这样弱化的。
    细心观察可以发现:上图中的account,loan表中的属性,比E-R图中account,loan实体多了一个branch-name属性。
    上面的现象我们也可以这样总结:E-R 图中的MANY TO MANY 关系映射成关系数据库中的表,MANY TO ONE 关系映射成关系数据库中,代表MANY 一方实体集的表中的一个外键约束。
    最后一步:在physical data design 模式下。即powerdesign当前客户区显示的是.pdm文件。选择database菜单->generatedatabase选项,即可产生 构建数据表,以及数据表中各种约束的sql语句。
    还要补充说明一下:
    我们在产生physical data model 时,会出现如下对话框,在DBMS 下拉列表中,我们要选择Mrosoft sql server2000。

  • 相关阅读:
    警告:ORA-00600 2252 错误正在SCN问题下不断爆发(转)
    Linux批量清除木马文件photo.scr
    500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login failed. 421 Service not available, remote server has closed connection
    Linux后门入侵检测工具(转)
    解决Docker无法删除镜像
    通过DataX从Oracle同步数据到MySQL-安装配置过程
    Server2008 R2安装、配置Freesshd(Jenkins持续集成-Windows)
    Mysql死锁解决办法
    Mssql 2017修改master默认排序规则
    可能需要用到的Mac技巧or软件
  • 原文地址:https://www.cnblogs.com/Alex80/p/5166738.html
Copyright © 2011-2022 走看看