开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1738|回复: 3
收起左侧

[其它数据库例题] 数据库开发与ADO.NET

[复制链接]

结帖率:61% (35/57)
发表于 2013-1-24 16:35:19 | 显示全部楼层 |阅读模式   海南省海口市
未来三天将给大家把数据库开发与ADO.NET基础过一遍,然后就讲呼叫中心那个项目。在数据库开发和ADO.NET这方面,我们主要讲解这些内容:
1、 从零基础将数据开发,怎么进行数据库操作以及一些常见的SQL语句
2、 接着就讲解ADO.NET,文件流的方式还有一种就是数据集的方式
在前面做那个“人力资源管理”那个小程序时我们自己写的数据,我们看看自己的写的数据库的弊端:
麻烦、效率低下,如果数据量非常大的情况下,你查找数据也非常的慢,你得一个个记录一个记录的找。如果你想把你的查询速度调高了,那么对你数据结构和算法的要求非常高。
并发性差,如果我们两个人同时修改数据库内容,会出现什么情况?各种情况,你想想两个人同时将数据写入这个文件。如果都是自己写数据那就是太痛苦了。这样就诞生了数据库这个东西
数据库概述
1、 用自定义文件格式保存数据的劣势
2、 DBMS(DataBase Management System,数据管理系统)和数据库。平时谈到“数据库”有两种含义:
MS-SQL Server、Oracle等某种DBMS
存放一堆数据表的一个分类(Catalog)
3、 不同品牌的DBMS有自己的不同的特点:MySQL(速度非常快,但是不严谨,适用网站开发)、MS-SQL Server(结合.NET比较好)、DB2(大型数据安全性)、Oracle、Access(当文件来用)、Sybase-SQL Sever等。对开发人员来讲、大同小异
4、 SQL<>SQL Server<>MS-SQLServer。最常见的错误
5、 除了Aceess、SQLSeverCE等文件类型的数据库外,大部分数据库需要数据库服务器才能运行。学习、开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器。
数据库中的概念
数据库数据为什么要分成一个个小格子呢?
Catalog(分类)(专业说法)(又叫数据库DataBase、表空间TableSpace),不同类的数据应该放到不同的数据库中
便于对各个Catalog进行个性化管理
避免命名冲突
安全性更高
Table(表),书放到书架上,碗放到橱柜中,不同类型的资料放到不同类型的格子中,将这种区域叫做表(Table)。不同的表根据放的数据不同进行空间优化,找起来也方便。
列(Column)、字段(Field)。
2011年10月入职,是产品开发部的,姓名马小虎
王二小,技术支持部,入职是2010年7月
姓名 马小虎 姓名 部门 入职时间
部门 开发部
入职时间 2008.06
其实就跟在前面学习C#一样,你如果用字符串来存储“2011年10月入职,是产品开发部的,姓名马小虎”,查找具体信息比如姓名,入职时间就比较累了,我们如果建立一个类来查找就相对来说方便许多。现在很多的表就像Excel数据分的很清楚。
比如我要建立一个管财务的数据,比如我要给别人发工资、报销,放到一个数据库里面。还有员工的管理,他的福利、入职、离职、社保、保险这些东西我也给他放到数据库里面。如果我把这些数据放到一个格子里面就很麻烦了。财务的数据和人力资源的数据都有人的描述。财务数据,我这个员工的银行账号是多少,开户行是什么?人力资源的数据,他的工号是多少?这些不同类型的数据放到一起肯定乱掉了。你想想,如果财务数据和人力资源数据放到一个格子里面?这样就出现了一个问题:管人力资源的人能够看到你财务的数据,我管财务的人也能看到你人力资源的数据,很不安全。一般财务数据在公司很保密的。所以呢,要将不同类型的数据放到不同数据库中。比如我们以后要开发人力资源系统就建立一个人力资源系统的数据库,开发一个OA系统就建立一个OA系统数据库。
先建数据库——建立表——分列
主键
避免重复
如果你公司有相同的名字的员工都叫,王小虎。那么要查找它的入职信息就会重复的情况。这样一般公司都会给你一个工号以用作区分。唯一标识一行数据,工号就是主键。
主键的两种使用策略:业务主键和逻辑主键。
业务主键,对业务来说有意义的主键,比如用他***号做主键,用银行账号做主键或用他的工号做主键,你想想什么什么号都是有意义的啊?
逻辑主键:没有业务意义的主键,比如我给每个员工分配一个流水号(计算机才能理解,完全给程序看,业务人员不会看的)
我现在主要推荐逻辑主键,因为业务主键很难保证不重复。比如你开发一个系统用***来作主键(有重复的嫌疑),电话号码(升位,之前加个8什么)。
逻辑主键是不给用户看到的
表间关联、外键(ForeignKey)
商品名
价格
生产厂家
厂家地址
厂家电话
大大香瓜子
5.00
大大食品厂
恰恰大街300号
010-123456
大大开心果
15.00
大大食品厂
恰恰大街300号
010-123456
苦咖啡
2
伊利工厂
内蒙古伊利路1号
400400400
随便
3
伊利工厂
内蒙古伊利路1号
400400400
冰工厂
1
伊利工厂
内蒙古伊利路1号
400400400
大家看上面一张表,我要记录产品中所有的信息,我就用这么一张Excel表把它记录下来,我这样记载信息的缺点就是数据重复,一旦我的厂家地址发生便更就要把所有厂家地址都改了,太痛苦了。如果放在数据库里面要更新的,很麻烦。所以,我们设计数据库的时候千万别这么设计。我们应该建立两张表,首先我给工厂编号,001和002两个工厂。我要更新厂家信息的时候也很方便。大家看,这样做有什么缺点,麻烦。但是麻烦归麻烦但是后面的数据库都是这样的
商品
价格
厂家编号
大大香瓜子
5.00
001
大大开心果
15.00
001
苦咖啡
2
002
随便
3
002
冰工厂
1
002
上表中的,厂家编号就是外键(Foreign Key)
编号
名称
地址
电话
001
大大食品厂
恰恰大街300号
010-123456
002
伊利工厂
内蒙古伊利路1号
400400400
上表中编号就是主键(Key)
发表于 2013-10-15 18:02:55 | 显示全部楼层   广西壮族自治区河池市
好复杂呀!!!
回复 支持 反对

使用道具 举报

结帖率:57% (13/23)

签到天数: 6 天

发表于 2013-7-28 15:59:15 | 显示全部楼层   上海市上海市
回复 支持 反对

使用道具 举报

结帖率:37% (7/19)
发表于 2013-2-1 09:05:33 | 显示全部楼层   北京市北京市
小卖部数据库?看到冰棍了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表