1. 程式人生 > >ER圖的構建

ER圖的構建

是我 left 哪些 _id cti ava join 查找 工作

我們在完成一個項目前期,首要的工作是對需求進行分析,然後根據需求畫出相應的數據庫E-R圖,這是我們後期建立數據庫和對數據庫進行操作的必要操作

這是一個小總結和示例

關系型數據庫
        關系 (表)             student
        列                             id name    age
        記錄 (一行數據)    
                                        101 terry    12
                                        102    larry 13
Java開發 類 屬性 對象(實例) 通過id查找學生的信息 id=101 sql = select * from student where id = 101; Student{ private Long id; private String name; private Integer age; } Student stu = new Student(); stu.setId(id); stu.setName(name); stu.setAge(age); ORM(對象關系映射) 關系 pojo類 student Student 列 屬性 id id name name age age 記錄 對象
101,terry,12 new Student(101,"terry",12); tbl_student(id,name,age) Student(id,name,age) StudentDao/StudentMapper(數據訪問層,JDBC,hibernate) StudentService (業務邏輯處理層,事務處理,業務處理) StudentAction/StudentController(視圖層,mvc框架) jsp 1) 一對多關系,外鍵維護在多的一方 tbl_clazz id name
1 一班 2 二班 3 三班 tbl_student id name gender clazz_id 101 terry male 1 102 larry male 1 103 tom male 2 104 jacky male 2 105 vicky male 3 查詢出所有的學生以及該學生所在的班級 select c.*,s.* from tbl_student as s left outer join tbl_clazz as c on c.id = s.clazz_id; 2) 一對一 一對一是一對多的一種特例,外鍵唯一 3) 多對多 外鍵維護在橋表 學生 tbl_student id name gender 101 terry male 102 larry male 103 tom male 104 jacky male 105 vicky male 課程 id name credit 1 Java 4 2 JS 2 3 Html 2 4 php 2 學生選課表 id student_id course_id grade 1 101 2 80 2 101 4 68 3 105 1 80 4 105 4 68 查詢出id為1的學生的姓名,選修了哪些課程名稱,成績 select s.name,c.name,sc.grade from tbl_student as s,tbl_course as c, tbl_sc as sc where s.id = sc.student_id and c.id = sc.course_id and s.id = 1;

需要特別記住的是因為外鍵的存在,在進行數據庫操作時可以能不會允許進行刪除或者修改操作,因為外鍵進行了約束,可以設置外鍵在刪除和修改時的操作屬性

ER圖的構建