数据库脚本

drop table crm_user_info;
drop table crm_work_customer_relation;
drop table crm_business;
drop table crm_travel;
drop table crm_contact_log;
drop table crm_order;
drop table crm_order_detail;
drop table crm_gods;
drop table crm_judge;
drop table crm_advice;
drop table crm_message; --用户基本信息表(包括超级管理员。企业人员,客户)
create table crm_user_info(
crm_id integer primary key, /*ID主键*/
email varchar2(50) not null, /*email作为登录账号*/
passwords varchar2(50) not null, /*密码使用加密*/
cname varchar2(50), /*用户真实名*/
phone varchar2(25), /*电话*/
sex integer, /*性别*/
age integer, /*年龄*/
address varchar2(200), /*地址*/
userlevel integer not null, /*用户级别0:A 1:B 2:C 3:D */
pl integer not null, /*系统权限等级 3 2 1 0*/
bussiness_id integer not null, /*企业ID*/
createdate date ); /*上次登录时间*/ create sequence seq_crm_user_info_seq INCREMENT BY 1 START WITH 1001; --员工-客户关系表
create table crm_work_customer_relation(
crm_cid integer not null,
crm_eid integer not null
); --企业表
create table crm_business(
business_id integer primary key, /*企业ID*/
business_name varchar2(50) not null, /*企业名称*/
business_type varchar2(200) not null ); /*企业经营范围*/ create sequence seq_crm_business_seq INCREMENT BY 1 START WITH 101; --行程表
create table crm_travel(
t_id integer primary key, /*行程序列化自增ID*/
c_id integer not null, /*客户ID*/
e_id integer not null, /*员工ID*/
state integer not null, /*状态 finish:0 ready:1 */
t_time date not null, /*安排时间*/
mission varchar2(1000) not null, /*任务具体*/
t_type integer not null, /*类型(电话或者上訪) call:0 go:1*/
address varchar2(200), /*上訪地址*/
c_remark varchar2(1000) ); /*备注*/ create sequence seq_crm_travel_seq INCREMENT BY 1 START WITH 1001; --联系记录表
create table crm_contact_log(
cl_id integer primary key, /*记录编号自增1*/
t_type integer not null, /*记录类型(电话0或者上訪1)*/
c_id integer not null, /*客户ID*/
e_id integer not null, /*员工ID*/
c_record varchar2(2000), /*记录内容*/
c_result varchar2(200) not null, /*结果*/
c_time date not null ); /*时间*/ create sequence seq_crm_contact_log_seq INCREMENT BY 1 START WITH 1001; --订单表
create table crm_order(
o_id integer primary key, /*订单表ID自增一*/
c_id integer not null, /*客户ID*/
e_id integer not null, /*员工ID*/
address varchar2(200) not null ); /*收货地址*/ create sequence seq_crm_order_seq INCREMENT BY 1 START WITH 1001; --订单具体表
create table crm_order_detail(
od_id integer primary key, /*订单具体表ID自增一*/
o_id integer not null, /*订单表ID*/
g_id integer not null, /*商品编号*/
od_num integer not null, /*订货数量*/
od_remark varchar2(200) not null, /*交易备注*/
state integer not null, /*状态 ok:0 ready:1 cancel:2 undefine:3*/
odate date not null, /*下单时间*/
udate date not null ); /*订单更新时间*/ create sequence seq_crm_order_detail_seq INCREMENT BY 1 START WITH 10001; --商品表
create table crm_gods(
g_id integer primary key, /*商品编号*/
g_name varchar2(45) not null, /*名称*/
g_color varchar2(45) not null, /*颜色*/
g_size varchar(10) not null, /*规格*/
g_price number not null, /*原价*/
g_rprice number not null ); /*出售价*/ create sequence seq_crm_gods_seq INCREMENT BY 1 START WITH 1001; --对客户的评定表
create table crm_judge(
j_id integer primary key,
c_id integer not null, /*客户ID*/
e_id integer not null, /*员工ID*/
j_comment varchar2(2000) not null ); /*评价内容*/ create sequence seq_crm_judge_seq INCREMENT BY 1 START WITH 1001; --建议表
create table crm_advice(
a_id integer primary key, /*建议表主键ID,自增一*/
a_time date not null, /*建议时间*/
e_id integer not null, /*客户ID*/
a_advice varchar2(2000) not null, /*建议内容*/
business_id integer not null ); /*公司ID*/ create sequence seq_crm_advice_seq INCREMENT BY 1 START WITH 1001; --留言表
create table crm_message(
m_id integer primary key,
c_id integer not null, /*客户ID*/
business_id integer not null, /*企业ID*/
m_message varchar2(2000), /*内容*/
m_feedback varchar2(2000), /*反馈*/
m_isfeedback integer not null, /*是否已经反馈ok:0 ready:1*/
m_time date not null ); /*留言时间*/ create sequence seq_crm_message_seq INCREMENT BY 1 START WITH 10001;
commit;

由于是单纯的小项目。只用于练习使用框架而练手的。表设计的不合理之处非常多。也没有想那么多。

我是菜鸟。我在路上。

三期_day02_数据库表设计和开发准备工作的更多相关文章

  1. Oracle数据库表设计时的注意事项

    表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与 ...

  2. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  3. Innodb IO优化 — 数据库表设计 转

    数据库表设计这块学问比较多,我这里单从互联网角度出发同时结合Innodb的特性给出一些设计方法供大家参考.本文构建大概分两分部分:Innodb的特性及设计中如何利用这种特性. Innodb特性: In ...

  4. springmvc 项目完整示例01 需求与数据库表设计 简单的springmvc应用实例 web项目

    一个简单的用户登录系统 用户有账号密码,登录ip,登录时间 打开登录页面,输入用户名密码 登录日志,可以记录登陆的时间,登陆的ip 成功登陆了的话,就更新用户的最后登入时间和ip,同时记录一条登录记录 ...

  5. mysql设计与优化以及数据库表设计与表开发规范

    一.设计问题? 1.主键是用自增还是UUID ? Innodb 中的主键是聚簇索引. 如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的 ...

  6. ERP开发分享 1 数据库表设计

    这是我的ERP设计经验分享系列,今天讲的是数据库的表设计(1),主要阐述: 1.单字段的主键:2.使用int32作为主键类型:3.使用版本字段处理乐观锁定:4.生效字段标明是否允许“被使用”:5.锁定 ...

  7. 海量数据GPS定位数据库表设计

    在开发工业系统的数据采集功能相关的系统时,由于数据都是定时上传的,如每20秒上传一次的时间序列数据,这些数据在经过处理和计算后,变成了与时间轴有关的历史数据(与股票数据相似,如下图的车辆行驶过程中的油 ...

  8. 转一篇MYSQL文章《数据库表设计,没有最好只有最适合》

    http://mp.weixin.qq.com/s/a8klpzM5iam0_JYSw7-U4g 我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设 ...

  9. Acitiviti数据库表设计(学习笔记)

    ACT_ID_*:与权限,用户与用户组,以及用户与用户组关系相关的表 ACT_RU_*:代表了流程引擎运行时的库表,RU表示Runtime ACT_HI_*:HI表示History当流程完成了节点以后 ...

随机推荐

  1. 简单实现双向数据绑定mvvm。

  2. RabbitMQ学习总结(4)——分发任务在多个工作者之间实例教程

    一.Work Queues(using the Java Client) 走起   在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...

  3. Revolution Platform

    Revolution Platform 黑暗的极权统治现实 异类的处境 独孤的存在 觉者的形成 信仰的确立 信仰的产物 完整的思想理论 反抗与信仰的一致 反抗的超理性的智慧论 反抗的纯理性的方法论 反 ...

  4. GCC 优化选项 -O1 -O2 -O3 -OS 优先级,-FOMIT-FRAME-POINTER(O3的优化很小,只增加了几条优化而已)

    四种编译优化类型的解释: `-O ' `-O1 '                 Optimize.      Optimizing   compilation   takes   somewhat ...

  5. Making ViewState More Secure

    Unencrypted view state in ASP.NET 2.0 could leak sensitive information https://www.rapid7.com/db/vul ...

  6. AngularJS1 学习笔记1

    什么是 AngularJS? AngularJS 使得开发现代的单一页面应用程序(SPAs:Single Page Applications)变得更加容易. AngularJS 把应用程序数据绑定到 ...

  7. BZOJ 2194 FFT

    思路: 题目中给的是差值一定的 那么就把b数组倒一下 不就变成 i+j=k(k为定值的了嘛) 嗯 然后搞个FFT //By SiriusRen #include <cstdio> #inc ...

  8. Edge 浏览器

    Edge浏览器设计理念 无法播放:https://edgewelcomecdn.microsoft.com/site/images/tabs/rs3/tabs_screen.acd367a2.mp4 ...

  9. python 3.x 学习笔记15(多线程)

    1.线程进程进程:程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程,不具备执行感念,只是程序各种资源集合 线程:线程是操作系统能够进行运算调度的最小单 ...

  10. Activity-数据状态的保存

    由于手机是便捷式移动设备,掌握在用户的手中,它的展示方向我们是无法预知的,具有不确定性.平时我们拿着手机多数为竖屏,但有时候我们感觉累了也会躺着去使用手机,那么这时手机屏幕的展示方向可能已经被用户切换 ...