• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • 压缩SQL数据库
  • 实例讲解MYSQL数据库的查询优化技术
  • MySQL查询优化技术讲座
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL Server 性能优化工具
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • 支持中文的MySQL 5.1+ 全文检索分词插件
  • MySQL数据导入导出方法与工具mysqlimport
  • VS.NET中构建数据库应用程序
  • 如何使用SQL Server 2000中的XML功能
  • Server 2005性能排错
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • SQL Server 2000中的SQL语言简介
 
 

相关文章

  • 当XML走进关系型数据库
 
 

百度搜索

 
 

ADO.NET--什么是关系型数据库

  • 阅览次数:
  • 文章来源: cp整理
  • 原文作者: 不详
  • 整理日期: 2007-04-11
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

 

 

主键

不过这个数据表严格说起来还有瑕疵,那就是使用者一但增加,一定会有重复的使用者账号。如果使用者账号有重复的话,使用在者登入的时候就无法确认到底是哪个使用者。所以我们必须将使用者账号设定成不允许重复,只要将这个字段设定成主键(Primary Key)就可以了:

558×226

外来键

字段设定成主键最主要的功能除了不允许重复外,另外还可以建立两个数据表之间的关联。将数据库的结构作一个合理的分析,适当的将数据分散到各个数据表以及建立数据表之间的关联,这个动作叫做数据库的正规化。关系型数据库有什么好处呢?我们来举一个实际的例子,假设我们的网站除了使用者的数据外,还要记载使用者的订单状况。这样一来数据表就会多了订单日期、产品名称、单价、订购数量以及小计等项目,如果这些数据都和使用者基本数据记录在一起,我们的数据表就会变成(因为会重复的输入使用者的基本数据,所以我们将使用者数据表主键的设定关掉):

710×154

我们在上列数据表中新增了三笔资料。但是除了使用者的订单数据外,我们发现使用者的基本数据重复输入了。数据重复输入有许多坏处,第一是增加数据库的储存空间,第二是可能会导致数据输入错误,第三是不容易维护及管理。假设使用者的电子邮件信箱改变了,在这种数据库里面需要将使用者所有纪录的电子邮件信箱字段全部作更新,不但浪费数据库空间而且不好管理;所我们应该把这些重复出现的数据独立出来,再建一个订单数据表。我们在数据库对话盒中选择新建,如下图所示:

503×325

然后输入数据表架构,输入完毕后将数据表命名为Orders,如下所示:

487×169

由于订单数据表中要纪录订单是哪个使用者所下的,所以我们在这里产生了和Members 数据表中定义一样的UserId 字段,这个字段表示是要参考Members 数据表中的UserId 字段,所以一个字段若要参考其它字段的主键,则这个字段就叫做外来键(Foreign Key),这个字段我们在下个建立数据表的关联时会用到。数据表结构在存盘的时候依然发出没有主键的警告,在这里我们不需要建立主键,所以选择「否」存档后离开。接下来我们要设定这两个数据库之间的关联了。在设定关联之前请先确定Members 数据表是否有设定主键UserId,倘若没有请设先定完毕后再选择「数据库关联图」选项:

515×363

出现「显示资料表」对话盒后,我们将Members 以及Orders 分别点选新增:

480×298

新增完毕后这两个数据表就被加到「数据关联图」窗口中了,如下图所示:

587×318

[1] [2] [3] [4]

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号