企业架构与IT战略规划设计教程
上QQ阅读APP看书,第一时间看更新

3.4 数据CRUD

3.4.1 什么是数据CRUD

CRUD是指在做计算处理时的Create(增加)、Retrieve(查询)(重新得到数据)、Update(更新)和Delete(删除)几个单词的首字母简写,主要被用在描述软件系统中数据库或者持久层的基本操作功能。表3-8给出了定义划分。

表3-8 CRUD的应用

3.4.2 数据CRUD与SQL

以SQL为例,数据制作(Create)对应重新制作数据库的CREATE TABLE指令和数据库新增加的INSERT指令。数据的读取(Retrieve)主要以使用SELECT指令搜索数据库表示其结果来进行。数据的更新(Update)对应UPDATE指令,而数据的删除分别对应删除一行的DELETE指令和删除数据库的DROP TABLE指令。

[例-Create] 建立学生选课表SC

      CREATE TABLE SC
      (Sno CHAR (9), Cno CHAR (4), Grade SMALLINT, PRIMARY KEY (Sno, Cno), /*主码由两个属性构
  成,必须作为表级完整性进行定义*/
      FOREIGN KEY (Sno) REFERENCES Course (Sno)/*表级完整性约束条件,Sno是外码,被参照表是
  Student*/
      FOREIGN KEY (Sno) REFERENCES Course (Cno)/*表级完整性约束条件,Cno是外码,被参照表是
  Course*/

[例-Retrive数据库红皮书] 查询电子商务系的学生及年龄不小于20岁的学生

      SELECT *
      FROM Student
      WHERE Sdept = 'EB'
      UNION
      SELECT *
      FROM Student
      WHERE Sage >=20;

[例-Update] 插入一条选课记录('2009311050', '1')

      INSERT
      INTO SC (Sno, Cno)
      VALUES ('2009311050', '1');

[例-Delete ]删除计算机科学系所有学生的选课记录

      DELETE
      FROM SC
      WHERE 'CS'= (SELECT Sdept
                  FROM Student
                  WHERE Student.Sno = SC.Sno)

3.4.3 数据CRUD的意义

通过数据CRUD合理规划和设计,可以明确系统中的核心数据由哪些系统产生,哪些系统有权力去读取这些数据,这些数据的更新权和删除权又属于哪些系统,从而确保数据的安全以及在数据不一致时很容易确定以哪个系统的数据为准。

3.4.4 案例分析:某通信行业公司CRUD规范

表3-9至表3-15是某通信行业公司关于客户主题域的CRUD规范(部分)。

表3-9 客户—客户问题

表3-15 客户—客户账务

表3-10 客户—客户优惠

表3-11 客户—客户交互

表3-12 客户—客户评估与统计

表3-13 客户—客户服务

表3-14 客户—客户异常账务处理

产品、市场营销、合作伙伴、服务、资源、企业管理等主题域依此类推。