数据库入门
数据库
从现实问题中抽象总结出的数据库。
1、现实问题中的数据关系
2、现实问题中的数据关系转化成数据库(重点)
3、数据库:按照数据结构来组织,存储和管理数据的仓库;存储在本地或者网络的结构化的表格。
4、数据库转化(增删改查)增加create、删除delete、改变update、查找retrieve
5、数据库数据解决现实问题
结构化数据库分为三部分(类似于excel表格):表名、字段(表头)、索引(变量);默认情况下一个单独的数据表是一个二维表格。
现实问题对应关系分为三种情况:
1、一对一:某用户对应某一个购物车;
2、一对多:(某商品具有多种属性:价格、库存)一个工厂具有多个员工;
工厂表
| 编号-主键 | 工厂名 |
| ------ | ------ |
| 1 | 百度 |
| 2 | 新浪 |
职工表
| 姓名 | 引用-外键 |
| ---- | --------- |
| 李敏 | 1 |
| 张华 | 1 |
3、多对多:不同店铺具有不同的商品;
职工表
| 主键 | 姓名 |
| ---- | ---- |
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
产品表
| 主键 | 型号 |
| ---- | ----- |
| 1 | 华为6 |
| 2 | 华为8 |
生产记录表
| 主键(生产记录表) | 外键1(=>职工表) | 外键3(=>产品表) | 生产日期 |
| ------------------ | ----------------- | ----------------- | -------- |
| 1 | 1 | 1 | 1.1 |
| 2 | 2 | 1 | 1.2 |
| 3 | 3 | 2 | 1.3 |
张三和李四生产了华为6;王五生产了华为8;生产日期是这个表的属性;
从实际复杂问题=>实际简单问题=>流程图=>数据库(字段)
上面的数据库就是关系型数据库(三种对应类型)
设计原型-数据库建模-编写后台程序
在数据库中,不同的对象存在关系:一对一和一对多的情况,直接使用一个表可以表示(一对多增加主键);多对多的情况,需要通过中间关系表进行链接:一个主键对应不同的外键;默认两个存在多对多的属性,可以通过中间变量,转化成若干个一对一的对应关系;
实际上数据库底层设计暂时不考虑;
数据库的查询方法:
转化成数据库的排序;对于某个数据类型,可以进行排序;排序过程中就是可以进行查询;
排序的多种方法;
案例:一个简单购物网站的数据库设计
1、界面设计:
买家界面:用户注册(弹窗)、用户登录(弹窗)、商品展示界面(主页)、购物车界面(主页)、购买界面(次级主页)、订单界面(次级主页)、支付界面(第三方跳转)。
卖家界面:卖家注册、卖家登录、商品上架界面、商品库存状态、商店布置、统计界面。
2、数据分析
买家端:买家(姓名电话)商品(价格名称)购物车、订单等表
卖家端:卖家信息、商品上架信息;
最复杂的表(购物车表和商品表的关系)
1.买家表
| 主键 | 姓名 | 密码 | 地址 | 电话 |
| ---- | ------ | ------ | ------ | ------ |
| 1 | 。。。 | 。。。 | 。。。 | 。。。 |
2.卖家表
| 主键 | 姓名 | 密码 | 地址 | 电话 |
| ---- | ------ | ------ | ------ | ------ |
| 1 | 。。。 | 。。。 | 。。。 | 。。。 |
3.商品表
| 主键 | 商品名称 | 价格 | 库存 | 卖家主键(2) |
| ---- | -------- | ------ | ------ | ------------- |
| 1 | 。。。 | 。。。 | 。。。 | |
4.订单表
| 主键 | 商品主键(3) | 单价 | 数量 | 买家主键(1) |
| ---- | ------------- | ------ | ------ | ------------- |
| 1 | 。。。 | 。。。 | 。。。 | |
5.购物车表
| 主键 | 买家主键(1) | 商品主键(3) | 数量 | 总价 |
| ---- | ------------- | ------------- | ------ | ---- |
| 1 | 。。。 | 。。。 | 。。。 | |
总结:数据可是存储结构化表格数据的仓库,由编程语言进行CURD操作,从而实现记录的目的,完成数据提取和分析的任务。