Nội dung: Giới thiệu Các kiểu dữ liệu ODL Định nghĩa đối tượng

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Giới thiệu

Các kiểu dữ liệu ODL


Định nghĩa đối tượng
Module
Ví dụ

Nội dung

1 Giới thiệu

2 Các kiểu dữ liệu ODL

3 Định nghĩa đối tượng


Định nghĩa Interface/class
Bản số trong ODL
Kế thừa
Key và Population

4 Module

5 Ví dụ

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Giới thiệu ODL

Là ngôn ngữ chuẩn cho phép định nghĩa cấu trúc cho CSDL
HĐT do ODMG đề nghị.
Đặc điểm : độc lập giữa DDL và DML
DDL : ODL.
DML: C++, Java, Smalltalk,
Mở rộng cú pháp IDL của OMG/CORBA (Common Object
Request Broker Architecture)

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Các kiểu dữ liệu ODL


ODL phân biệt hai kiểu dữ liệu : literal và đối tượng (object)
Kiểu Literal
Kiểu nguyên thủy :
integer, float, character, character string, boolean.
Kiểu Constructor
Liệt kê ENUM
Cấu trúc STRUCT
Tập hợp SET, BAG, LIST, ARRAY
Mỗi kiểu Literal được đặc trưng bởi giá trị của nó.
=> L1 và L2 bằng nhau nếu giá trị của chúng bằng nhau
Đối tượng
Do người dùng định nghĩa bằng cách sử dụng INTERFACE và
(hoặc) CLASS
o1 và o2 bằng nhau nếu định danh của chúng bằng nhau
4

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Định nghĩa kiểu literal

- Typedef : cho phép định nghĩa các kiểu literal, ví dụ:


TYPEDEF int Franc, Euro;
TYPEDEF STRUCT {
string duong;
string tpho;
int sonha} Diachi ;
TYPEDEF ENUM Mausac {red, white, green};

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Nội dung

1 Giới thiệu

2 Các kiểu dữ liệu ODL

3 Định nghĩa đối tượng


Định nghĩa Interface/class
Bản số trong ODL
Kế thừa
Key và Population

4 Module

5 Ví dụ

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa Interface/class

Interface : đặc tả của một kiểu, có thể có các thành phần:


Kế thừa đơn hoặc đa
Population (Thùng chứa) EXTENT <populationName>
Khóa KEY <key1 [; key2 ; ...]>
Thuộc tính ATTRIBUTE <type> <AttributeName>;
Quan hệ và quan hệ đảo:
RELATIONSHIP <type> <relationshipName>
INVERSE <interfaceName>::<relationshipName>;
Phương thức
Định nghĩa lớp:
class= interface + cài đặt của kiểu bằng một trong
những ngôn ngữ DML có sẵn.
Để đơn giản có thể dùng CLASS thay vì INTERFACE
7

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa Interface/class (tt)

Để định nghĩa một lớp các đối tượng dùng từ khóa class hoặc
interface
Định nghĩa thuộc tính dùng từ khóa attribute
Ví dụ:

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa cấu trúc

Để định nghĩa một cấu trúc dùng từ khóa struct


Ví dụ:

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa quan hệ và quan hệ đảo

Mô hình đối tượng ODMG hỗ trợ chỉ 2 kiểu quan hệ: nhất
phân và nhị phân
Định nghĩa một quan hệ dùng từ khóa relationship
Định nghĩa một quan hệ đảo với từ khóa inverse

10

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Nội dung

1 Giới thiệu

2 Các kiểu dữ liệu ODL

3 Định nghĩa đối tượng


Định nghĩa Interface/class
Bản số trong ODL
Kế thừa
Key và Population

4 Module

5 Ví dụ

11

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Các kiểu quan hệ giữa hai lớp

Có 3 kiểu quan hệ :
một - một (1 - 1)
một - nhiều (1 - n)
nhiều - nhiều (n - m)

12

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa các kiểu quan hệ

13

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Ví dụ

Cho sơ đồ lớp đơn giản của CSDL đại học:

14

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Ví dụ

ODL cho CSDL đại học:

15

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Ví dụ

ODL cho CSDL đại học (tt):

16

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Ví dụ

ODL cho CSDL đại học (tt):

17

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa thuộc tính với giá trị là định danh đối
tượng

18

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Bài tập

Cho CSDL được cho bởi sơ đồ sau :

=> Định nghĩa cấu trúc của CSDL ???

19

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Giải Bài tập

20

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Nội dung

1 Giới thiệu

2 Các kiểu dữ liệu ODL

3 Định nghĩa đối tượng


Định nghĩa Interface/class
Bản số trong ODL
Kế thừa
Key và Population

4 Module

5 Ví dụ

21

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Kế thừa đơn
Kế thừa được biểu diễn bằng dấu hai chấm (:) hoặc từ khóa
extend

22

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Đa kế thừa

23

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Nội dung

1 Giới thiệu

2 Các kiểu dữ liệu ODL

3 Định nghĩa đối tượng


Định nghĩa Interface/class
Bản số trong ODL
Kế thừa
Key và Population

4 Module

5 Ví dụ

24

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa khóa


Khóa ={Một tập các thuộc tính} => Khóa <> OID

25

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa khóa


Khóa ={Một tập các thuộc tính} => Khóa <> OID
Ví dụ

25

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa khóa


Khóa ={Một tập các thuộc tính} => Khóa <> OID
Ví dụ

Khóa gồm nhiều thuộc tính ???

25

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Định nghĩa khóa


Khóa ={Một tập các thuộc tính} => Khóa <> OID
Ví dụ

Khóa gồm nhiều thuộc tính ???


Khóa ứng viên : định nghĩa nhiều khóa ứng viên

25

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Định nghĩa Interface/class
Các kiểu dữ liệu ODL
Bản số trong ODL
Định nghĩa đối tượng
Kế thừa
Module
Key và Population
Ví dụ

Population

Extent = định nghĩa một tập các thể hiện của interface/lớp

Được sử dụng bởi OQL trong mệnh đề FROM

26

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Định nghĩa Module

Module = Nhóm lại tất cả trong cùng một không gian tên

27

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Ví dụ I
- Cho CSDL được cho bởi sơ đồ sau :

=> Định nghĩa cấu trúc cho CSDL ???


28

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Ví dụ II

29

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Ví dụ III

30

Phạm Thị Ngọc Diễm OODB


Giới thiệu
Các kiểu dữ liệu ODL
Định nghĩa đối tượng
Module
Ví dụ

Bài tập
Định nghĩa cấu trúc cho CSDL Đào tạo ???

31

Phạm Thị Ngọc Diễm OODB

You might also like