PowerPoint Presentation

Tài liệu tương tự
Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

Kỹ thuật phần mềm ứng dụng

Thực hành hàm kết hợp và gom nhóm Thực hành hàm kết hợp và gom nhóm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Hàm kết hợp Hàm count(), min(),

PowerPoint Template

Microsoft Word - cu_phap_sqlite.docx

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Microsoft Word - Morat 53_checked.doc

Microsoft Word - su_dung_sqlite_voi_php.docx

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Lập trình và ngôn ngữ lập trình

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tô Oai Hùng BAØI TAÄP CHÖÔNG 1 1. Viết giải thuật để mô tả thói quen mỗi buổi sáng của bạn, từ lúc ngh

Co s? d? li?u (Database)

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

Slide 1

Microsoft Word - co_ban_ve_jquery.docx

Microsoft Word - mot_so_tool_trong_android.docx

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

SQL SQL Bởi: phamgiatien phamthephi SQL MỤC ĐÍCH Giới thiệu một hệ CSDL chuẩn, SQL, các thành phần cơ bản của của nó. YÊU CẦU Hiểu các thành phần cơ b

Chương 1:

Microsoft Word - Co so du lieu - cap nhat

1

Slide 1

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

Kế thừa

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

Microsoft Word - Cau hoi on tap.doc

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

BẢO MẬT HỆ THỐNG THÔNG TIN


Microsoft Word - client_request_trong_servlet.docx

Kiến trúc tập lệnh1

Chương 1:

Microsoft Word - VoHoangLienMinh - Bao KH-CN- From UML to XML 1

Microsoft Word - action_trong_jsp.docx

Microsoft Word - cau-truc-du-lieu-hang-doi.docx

Microsoft Word - kieu_du_lieu_trong_jdbc.docx

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

NGÔN NGỮ THỐNG KÊ R

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

Chương trình dịch

Microsoft Word - Tailieu win2003.doc

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Hướng dẫn KHG sử dụng dịch vụ BaaS do Mobifone Global cung cấp Tổng Công ty Viễn thông MOBIFONE là nhà cung cấp dịch vụ Viễn thông và CNTT hàng đầu tạ

Java cơ bản

View, Procedure, Function & Trigger

Chương trình dịch

Mẫu Báo cáo Cá nhân Học sinh Tiếng Việt Sample Individual Student Report Vietnamese Lưu ý: Các vùng trên báo cáo được đánh dấu sao (*) có thể không xu

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ Đỗ Thị Phương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuy

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

Chương trình dịch

Kế thừa và đa hình

Nguyễn Ngọc Duy Mỹ Các môn giảng dạy Luật Sở hữu trí tuệ Công pháp quốc tế Luật Kinh doanh Pháp luật đại cương Thạc sĩ Luật Chuyên ngành Luật Quốc tế

\

ID

Microsoft Word - session_tracking_trong_servlet.docx

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

PHẦN III. NỘI DUNG CHƯƠNG TRÌNH ĐÀO TẠO 1. Tóm tắt yêu cầu chương trình đào tạo Tổng số tín chỉ của chương trình đào tạo: Khối kiến thức chung 158 tín

1 Überschrift 1

Bài 1: (25 điểm)

THƯ VIỆN TRUNG TÂM ĐHQG-HCM PHÒNG PHỤC VỤ ĐỘC GIẢ * I. CỔNG TRA CỨU & TRUY CẬP TÀI LIỆU KHOA HỌC 3 I. MỤC LỤC TRỰC TUYẾN TVTT Tìm lướt:

Sample UCP Pol and Pro - Uniform Complaint Procedures (CA Dept of Education)

ĐỀ cương chương trình đẠi hỌc

Chủ đề :

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

Chương 4: Tìm kiếm DL ĐPT P4: Dữ liệu ĐPT

Array, Indexer và Collection Array, Indexer và Collection Bởi: phamvanviet truonglapvy Mảng (Array) Mảng là một tập hợp các phần tử có cùng kiểu, được

Chương trình dịch

Microsoft Word - jsp_syntax.docx

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Chương trình dịch

ĐỀ CƯƠNG MÔN HỌC NHẬP MÔN TIN HỌC

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

XJ-UT311WN_XJ-UT351WN

03_Tap hop_P2_Baigiang

Kiểm soát truy suất Kiểm soát truy suất Bởi: Khoa CNTT ĐHSP KT Hưng Yên Khái niệm Bảo mật thực chất là kiểm soát truy xuất [1]. Mục đích của bảo mật m

Microsoft Word - 02-KT-DO THI THANH VINH(10-15)

TrÝch yÕu luËn ¸n

Hướng dẫn cụ thể từng bước để đăng ký sử dụng Đơn đăng ký không tín chỉ sau đó ghi danh vào các lớp không tín chỉ. 1 tháng Sáu, 2018 Các sinh viên dự

Microsoft Word - server_response_trong_servlet.docx

Trại hè Toán Mô hình PiMA Projects in Mathematics in Applications ĐÁNH GIÁ THIẾT BỊ Y SINH Mentor Vũ Đức Tài Đại học Khoa học Tự nhiên Hà Nội Phạm Ngu

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

Mẫu trình bày chương trình đào tạo theo tín chỉ

TRƢỜNG ĐẠI HỌC DUY TÂN TRUNG TÂM TIN HỌC DUY TÂN ĐỀ CƢƠNG KHẢO SÁT TIN HỌC DÀNH CHO KHỐI KHÔNG CHUYÊN TIN TOÀN TRƢỜNG ÁP DỤNG CHUẨN ỨNG DỤNG KỸ NĂNG C

Microsoft Word - jsp_client_request.docx

9-KiemThu

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Cách thức sử dụng phần mềm MT4 của FxPro

Microsoft PowerPoint - Chuong_06.ppt

CHÀO MỪNG NGÀY NHÀ GIÁO VIỆT NAM 20/11/2012 E b 1 4 ik ik y y x ( x x y ( ) 0 ) 0 ik 2 ( z d ) x, y, z G by e e e d K x dk 2 y ~ (2.7.a) Từ đó, có thể

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÙI TRUNG HIẾU NGHIÊN CỨU MỘT SỐ VẤN ĐỀ VỀ CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN QUẢN LÝ DÂN CƯ LU

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ Ngành đào tạo: Điện Tử Công Nghiệp Trình độ đào tạo: Đại học Chương trình đào tạo: C

Nhập môn Công Nghệ Thông Tin 1

Tạp chí Khoa học công nghệ và Thực phẩm số 11 (2017) NGHIÊN CỨU ỨNG DỤNG MÃ NGUỒN MỞ JOOMLA XÂY DỰNG WEBSITE HỖ TRỢ DẠY HỌC VẬT LÝ ĐẠI CƢƠNG Ngu

Bản ghi:

Chương 1 Object Oriented Database

Chủ đề2 Object Definition Language & Object Query Language

3 Object Definition Language (ODL) Object Definition Language (viết tắt là ODL): ngôn ngữ mô tả đối tượng Là ngôn ngữ do tổ chức ODMG (Object Data Management Group) đề xuất Dùng để xác định mô hình logic cho cơ sở dữ liệu hướng đối tượng Dùng để định nghĩa các lớp đối tượng và các mối quan hệ giữa chúng

Định nghĩa lớp đối tượng 4

Định nghĩa lớp đối tượng 5 Từ khóa class: xác định tên lớp đối tượng Từ khóa attribute: dùng để xác định thuộc tính đối tượng Kết thúc định nghĩa phải có dấu chấm phẩy class Student { attribute string name; attribute Date dateofbirth; attribute string address; attribute string phone; // plus relationship and operations...

Định nghĩa lớp đối tượng (tt) 6 class Course { attribute string crse_code; attribute string crse_title; attribute short credit_hrs; // plus relationships and operation...

Định nghĩa thuộc tính 7 Thuộc tính của một đối tượng có thể là tham chiếu hoặc tham trị Tham trị: giá trị bình thường literal value (chuỗi kí tự, con số, kí tự, ) Tham chiếu: giá trị sẽ là OID của 1 đối tượng khác Một số kiểu literal trong OO Model: Atomic literal: hằng số mà ta không thể phân nhỏ ra thành những thành phần nhỏ hơn. Ví dụ: số nguyên, số thực, kí tự, giá trị logic Collection literal: tập hợp nhiều thành phần. Có 4 kiểu được ODMG hỗ trợ: Set: tập hợp không có thứ tự, không có thành phần trùng nhau Bag: tập hợp không có thứ tự, có thể có thành phần trùng nhau List: tập hợp có thứ tự Array: dynamically sized ordered collection, located by position Dictionary: tập hợp các cặp key-value, các key không có trùng lắp Structure literal: kiểu dữ liệu có cấu trúc như phân số, số phức,

Định nghĩa thuộc tính (tt) 8 struct Address { string street_address; string city; string state; string zip; struct Phone { short area_code; long personal_number; class Student { attribute string name; attribute Date dateofbirth; attribute Address addresses; attribute set<string> emails; attribute set<phone> phones; // plus relationship and operations...

Trường hợp thuộc tính là một đối tượng 9 Thuộc tính của một đối tượng có thể là tham chiếu đến một đối tượng khác Mặc dù cách khai báo tương tự như thuộc tính bình thường. Nhưng về mặc lưu trữ thì chỉ lưu trữ Object Identifier của đối tượng mà nó tham chiếu Sẽ không hỗ trợ các phép tìm kiếm phức tạp. Do đó nên tạo mối quan hệ hơn là tạo 1 thuộc tính liên kết class Course { // the dept attribute s value is an OID attribute Department dept;... class Department { attribute short dept_number; attribute string dept_name; attribute string office_address;

Định nghĩa mối quan hệ kết hợp 10

Định nghĩa mối quan hệ kết hợp 11 ODMG chỉ hỗ trợ định nghĩa mối quan hệ 1 ngôi và 2 ngôi. Trường hợp mối quan hệ 3 ngôi trở lên thì chuyển về các mối quan hệ 2 ngôi Trường hợp mối quan hệ 2 ngôi: Phải xác định tên mối quan hệ ở cả 2 chiều Phải định nghĩa mối quan hệ ở cả 2 lớp đối tượng Nếu là quan hệ 1 nhiều thì bên lớp 1 phải sử dụng các kiểu Collection (set, bag, list, ) mô tả danh sách các đối tượng của lớp nhiều tham gia Cú pháp relationship set<clssn>/clssn <RelName> inverse <InvRelName> Trong đó: relationship, inverse là từ khóa RelName: tên mối quan hệ theo chiều thuận InvRelName: tên mối quan hệ theo chiều ngược lại ClssN: tên lớp

Ví dụ minh họa 12 class Student { (extent students) attribute string name; attribute Date dateofbirth; attribute Address address; attribute Phone phone; relationship set<courseoffering> takes inverse CourseOffering::taken_by;

Ví dụ minh họa (tt) 13 class CourseOffering { (extent courseofferings) attribute string term; relationship set<student> taken_by inverse Student::takes; relationship Course belongs_to inverse Course::offers; class Course { (extent courses) attribute string crse_code; attribute string crse_title; attribute short credit_hrs; relationship set<course> has_prereqs inverse Course::is_prereq_for; relationship set<course> is_prereq_for inverse Course::has_prereqs; relationship list<courseoffering> offers inverse CourseOffering::belongs_to;

14 Từ khóa extent? The extent of a class is the set of all instances of the class within the database For example, the extent called students refers to all the Student instances in the database

Định nghĩa mối quan hệ kế thừa 15

Định nghĩa mối quan hệ kết thừa 16 Sử dụng từ khóa extends để xác định lớp cha mà nó kết thừa class Employee { (extent employees) attribute short empname; attribute string empnumber; attribute Address address; attribute Date datehired; void printlabel( ); class HourlyEmployee extends Employee { (extent hrly_emps) attribute float hourlyrate; float computewages( ); class SalariedEmployee extends Employee { (extent salaried_emps) attribute float annualsalary; attribute boolean stockoptions; void contributepension( );

Định nghĩa lớp trừu tượng 17 abstract class Student { (extent students) attribute long stu_number; attribute string name; attribute Date dateofbirth; attribute Address address; attribute Phone phone; class GraduateStudent extends Student { (extent grads) attribute char undergrad_major; attribute GRE gre_score; attribute GMAT gmat_score; class UndergradStudent extends Student { (extent undergrads) attribute SAT sat_score; attribute ACT act_score;

18 Object Query Language (OQL) Object Query Language (viết tắt là OQL): ngôn ngữ truy vấn đối tượng Là ngôn ngữ do tổ chức ODMG (Object Data Management Group) đề xuất Có cú pháp tương tự như SQL Có thể dùng xen kẽ host language và OQL language. Đây là ưu thế so với cách sử dụng SQL trong ứng dụng dùng RDBMS

Câu truy vấn cơ bản 19 OQL cho phép sử dụng cú pháp truy vấn select from where tương tự như câu lệnh SQL Ví dụ: tìm tên và số tín chỉ (tính theo giờ) của môn có mã là ADB SELECT c.crse_title, c.credit_hrs FROM courses c WHERE c.crse_code = ADB Ở đây, courses (được định nghĩa bởi từ khóa extent) và được đặt tên là c trong câu truy vấn này. Cách truy xuất thành phần dữ liệu của đối tượng: Cú pháp: <tên đối tượng>.<tên thành phần dữ liệu> Dấu chấm nói lên quan hệ sở hữu Ý nghĩa của cú pháp: truy xuất thành phần dữ liệu nào của đối tượng nào

Sử dụng các phép toán trong câu lệnh SELECT 20 Tương tự như trong SQL, OQL cho phép sử dụng các phép toán so sánh trong mệnh đề WHERE Từ khóa DISTINCT dùng để tìm các phần tử khác biệt Ví dụ: select s.age from students s where s.name = John Marsh select s from students s where s.gpa = 3.0 select s from students s where s.gpa = 3.0 and not (s.address.city = Dayton ) select distinct s.age from students s where s.gpa > 3.0

Câu truy vấn dùng nhiều lớp đối tượng 21 Trong truy vấn OQL, có thể dựa vào các mối quan hệ đã được định nghĩa để truy xuất đến những lớp đối tượng khác. Ví dụ: tìm mã các môn học mà được mở vào học kì 1 năm 2012 SELECT distinct y.crse_code FROM courseofferings x, x.belongs_to y WHERE x.sem = Fall and x.year = 2012 Ở đây thông qua mối quan hệ belongs_to đã dược định nghĩa trước để truy xuất để lớp CourseOfferring Khác với SQL trong RDBMS, trong OQL ta không dùng cú pháp JOIN mà sử dụng mối quan hệ (reference) Ta có thể viết như sau: SELECT distinct y.crse_code FROM courses y, y.offers x WHERE x.sem = Fall and x.year = 2012

Ví dụ minh họa 22 Tìm các mã môn học được mở năm 2012 mà có số tín chỉ nhỏ hơn hoặc bằng 30 giờ SELECT y.crse_code FROM courseofferings x, x.belongs_to y WHERE y.year = 2012 and y.credit_hrs <= 30 Tìm các tên và mã môn học mà sinh viên Nguyen Van A đăng kí học SELECT c.crse_code, c.crse_title FROM students s, s.takes x, x.belongs_to c WHERE s.name = Nguyen Van A

Path Expression 23 Gọi: a đối tượng thuộc lớp đối tượng C p là tên thuộc tính (hoặc mối quan hệ, phương thức) của lớp đối tượng C Khi đó: Nếu p là thuộc tính thì a.p là giá trị thuộc tính của đối tượng a Nếu p là phương thức thì a.p là kết quả khi gọi phương thức p của đối tượng a Nếu p là mối quan hệ thì a.p là đối tượng hoặc tập các đối tượng có mối quan hệ với a thông qua mối quan hệ p

Kết quả trả về là một đối tượng, cấu trúc 24 Trong OQL, có thể cho phép tạo ra đối tượng, cấu trúc khi trả về kết quả Ví dụ: SELECT distinct struct(name: s.name, gpa: s.gpa) FROM students s WHERE s.name = Mary Jones SELECT distinct Transcript(name: s.name, gpa: s.gpa) FROM students s WHERE s.name = Mary Jones

Viết câu truy vấn lồng nhau 25 Ví dụ: tìm mã và tên môn học cùng với những course offering nào mà số lượng sinh viên đăng kí ít hơn 20 người SELECT distinct struct (code: c.crse_code, title: c_crse_title, (select x from c.offers x where x.enrollment < 20 ) ) FROM courses c Tìm tên, địa chỉ và điểm tích lũy của những sinh viên sinh năm từ 1992 trở về sau và có điểm tích lũy lớn hơn 3.0 SELECT x.name, x.address, x.gpa FROM (select s from students s where s.gpa > 3.0) as x WHERE x.birthyear > 1992

Calculating Summary Values 26 Tương tự như SQL, ngôn ngữ OQL cũng hỗ trợ các hàm count, sum, max, min, avg. Ví dụ 1: tìm tổng số sinh viên trong trường select count (*) from students s Ví dụ 2: tính lương trung bình của các nữ nhân viên trong công ty select avg (e.salary) from employees e where e.gender = female

Mệnh đề GROUP BY 27 Tương tự như SQL, ngôn ngữ OQL hỗ trợ mệnh đề GROUP BY Ví dụ 1: tính lương thấp nhất trong mỗi phòng ban SELECT min(e.salary) FROM employees e GROUP BY e.dept Ví dụ 2: nhóm các project dựa vào mức độ ưu tiên của nó SELECT * FROM projects p GROUP BY low: priority = low, medium: priority = medium, high: priority = high

Mệnh đề HAVING 28 Tương tự như SQL, ngôn ngữ OQL cũng hỗ trợ mệnh đề HAVING Ví dụ: nhóm các project dựa vào mức độ ưu tiên của nó nhưng chỉ liệt kê những dự án nào mà có số giờ làm việc hơn 50 tiếng SELECT * FROM projects p GROUP BY low: priority = low, medium: priority = medium, high: priority = high HAVING sum(select x.hours from p.has x) > 50

Sử dụng khái niệm tập hợp 29 Nếu ta muốn xem một phần tử nào đó có thuộc vào một tập hợp nào đó hay không thì dùng từ khóa Ví dụ 1: tìm mã số và tên nhân viên có kĩ năng thiết kế database và mô hình hóa đối tượng SELECT e.emp_id, e.name FROM employees e WHERE Database Design in skills or OO Modeling in skills Ví dụ 2: Tìm những dự án mà không cần kĩ năng lập trình C++ SELECT * FROM projects p WHERE not ( C ++ Programming in p.skills_required)

Những phép toán trong tập hợp 30 Ngôn ngữ OQL có hỗ trợ các phép toán tập hợp như: UNION (hợp), INTERSECT (giao nhau), EXCEPT (phần khác nhau) Để kiểm tra có ít nhất một phần tử có trong tập hợp nào đó thì ta sử dụng từ khóa exists Để kiểm tra tất cả các phần tử thỏa mãn điều kiện nào đó ta dùng từ khóa for all

Trao đổi và thảo luận 31