- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章学会sql数据库关系图(Petshop)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
很久以前就知道微软的Petshop的很经典,昨天抽出时间去学习,一开始还真的不适应,什么成员资格,还真的看不太懂,运行petshop想从登陆学起,但是用户名和密码都不知道,后来发现有更注册的页面,自己注册了一个页面,才发现还得从数据库出发。花了这么多时间最终还是回到了数据库,但是数据库中一张一张的表格找不到脚本,也不是自己设计的数据库,完全没有一点头绪,后来突然想起来sql有个数据库关系图,可以很快的适合数据库程序员很快的掌握数据库表之间的关系。于是开始了我的百度之旅,关于数据库的关系图的文章还真的很少,于是我开始根据petshop,然后建立数据库关系图,开始掌握数据库关系图。我点击MSPetShop4Services这个数据库,存放着用户的信息。但是原版的是没有数据库关系图.
首先我们自己动手来新建一张数据库关系图吧,找到相应的数据库(图1),在第一行中有个数据库关系图,我们右击选择新建数据库关系图(N),如图2:
(图1) 。
(图2) 。
这个时候会跳出一个添加表对话框,这里我们可以选择我们想要的表,如果想要全部选中,则这样操作,先鼠标点重第一个然后按住shift+鼠标点重最后一个,来完成操作。最后表格位子整理一下,然后ctrl+s保存一下,数据关系图的名字,那么数据库关系图基本建立好了。接下来就是分析了.
(添加表对话框图) 。
(选中表对话框图) 。
整个MSPetShop4Services数据库的关系图。整个这幅图,是不是看着一张一张的表格了解表之间的关系舒服多了,当然我们还是要看懂整个表的意思,首先最上面的是表名,下面的都是字段,有些字段左边有个钥匙,那是主键的意思。在表之间有个线连着就说明这两个表之间存在主键和外键的关系,其中一半都有钥匙的指的是主键,一个无穷大的符号表示的外键。但是不知道细心的朋友有没有发现一个问题,比如说aspnet_Paths和aspnet_PersonalizationAllUsers表之间的线的两端都是钥匙的,我也找了很久资料没有找到,于是自己写代码测试了,到底是什么意思.
通过自己的代码了解图中线的含义:
我自己定义是一个学生选课的关系图: sql脚本代码如下: 。
。
出来的关系图如下:
这个数据图是我们知道的主键外键的关系,也是符合我们思维的.
接着我在代码里面改了一行代码,图就变调了,代码如下: 。
。
对应的关系图如下:
我相信你们看到了吧,两个钥匙的线段。好了那我们应该了解了吧,我们可以得出这样的结论,如果一个表中是主键,而另一个表中却是普通的字段,那显示的效果是一个钥匙一个无穷大,钥匙指向主键,无穷大指向外键,但是当外键在另一张表中也作为主键,那此时无穷大也变为了钥匙。此时我们不能看线了。那要怎么分析主键和外键呢?别急往下看。这里介绍两个方法,第一个比较简答,我们把鼠标放到这个线上面,他会跳出一行提示,在前面的表名是主键,后面的是外键,最后的是关系的名字(这个是我自己看表得出的结论),还有一个方法,但是我们事先也要用这个方法,知道这个关系的名字,然后点击两个表中随便的哪一张表,右击选择关系,找到相应的关系名,然后选择右边的表和列规范,里面就写明了主外键的关系了。好了就写到这里了.
总结: 遇到难的我们先不要怕,从最基本的做起,也可以自己建立测试数据来验证遇到的新的知识.
最后此篇关于学会sql数据库关系图(Petshop)的文章就讲到这里了,如果你想了解更多关于学会sql数据库关系图(Petshop)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我的问题是如何在 python 中创建一个简单的数据库。我的例子是: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
我需要创建一个与远程数据库链接的应用程序! mysql 是最好的解决方案吗? Sqlite 是唯一的本地解决方案吗? 我使用下面的方法,我想知道它是否是最好的方法! NSString *evento
给定两台 MySQL 服务器,一台本地,一台远程。两者都有一个包含表 bohica 的数据库 foobar。本地服务器定义了用户 'myadmin'@'%' 和 'myadmin'@'localhos
我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz
好吧,我的电脑开始运行有点缓慢,所以我重置了 Windows,保留了我的文件。因为我的大脑还没有打开,所以我忘记事先备份我的 MySQL 数据库。我仍然拥有所有原始文件,因此我实际上仍然拥有数据库,但
如何将我的 Access 数据库 (.accdb) 转换为 SQLite 数据库 (.sqlite)? 请,任何帮助将不胜感激。 最佳答案 1)如果要转换 db 的结构,则应使用任何 DB 建模工具:
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
我想在相同的 phonegap 应用程序中使用 android 数据库。 更多说明: 我创建了 phonegap 应用程序,但 phonegap 应用程序不支持服务,所以我们已经在 java 中为 a
Time Tracker function clock() { var mytime = new Date(); var seconds
我需要在现有项目上实现一些事件的显示。我无法更改数据库结构。 在我的 Controller 中,我(从 ajax 请求)传递了一个时间戳,并且我需要显示之前的 8 个事件。因此,如果时间戳是(转换后)
我有一个可以收集和显示各种测量值的产品(不会详细介绍)。正如人们所期望的那样,显示部分是一个数据库+建立在其之上的网站(使用 Symfony)。 但是,我们可能还会创建一个 API 来向第三方公开数据
我们将 SQL Server 从 Azure VM 迁移到 Azure SQL 数据库。 Azure VM 为 DS2_V2、2 核、7GB RAM、最大 6400 IOPS Azure SQL 数据
我正在开发一个使用 MongoDB 数据库的程序,但我想问在通过 Java 执行 SQL 时是否可以使用内部数据库进行测试,例如 H2? 最佳答案 你可以尝试使用Testcontainers Test
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎与 a specific programming problem, a sof
我正在尝试使用 MSI 身份验证(无需用户名和密码)从 Azure 机器学习服务连接 Azure SQL 数据库。 我正在尝试在 Azure 机器学习服务上建立机器学习模型,目的是我需要数据,这就是我
我在我的 MySQL 数据库中使用这个查询来查找 my_column 不为空的所有行: SELECT * FROM my_table WHERE my_column != ""; 不幸的是,许多行在
我有那个基地:http://sqlfiddle.com/#!2/e5a24/2这是 WordPress 默认模式的简写。我已经删除了该示例不需要的字段。 如您所见,我的结果是“类别 1”的两倍。我喜欢
我有一张这样的 table : mysql> select * from users; +--------+----------+------------+-----------+ | userid
我有表: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
我是一名优秀的程序员,十分优秀!