DataBaseManagementSystem

Slides:



Advertisements
Presentasi serupa
Aljabar Relasional Materi pertemuan.
Advertisements

Bahasa Pada Model Data Relasional
03 Model Relasional Basis Data Mata Kuliah: Basis Data
Pengantar Basis Data Sumber :
MODEL DATA.
PEMROGRAMAN BASIS DATA
Model & Aljabar Relasional
MODEL DATA.
Aljabar Relasional.
Aljabar Relasional Materi pertemuan.
Aljabar Relasional.
RELASI.
Pertemuan Minggu Ke-3 DATABASE RELASIONAL.
Aljabar Relasional Materi pertemuan 21.
PERTEMUAN 13 Sistem Basis Data Presented by :
Database Management System
Modul 03 Relational Model
Oleh: Henry Primandari,S.Kom STMIK-MDP Palembang
SQL (Structured Query Language) Materi Pertemuan
BASIS DATA RELASIONAL Pertemuan ke 3 Basis Data Relasional.
ALJABAR RELATIONAL.
Aljabar Relasional Materi pertemuan.
Basis Data Bab VIII Bahasa Kueri Presented by Mulyono, S.Si, M.Kom
MANAJEMEN SUMBER DAYA DATA
Pertemuan Ke-6 Aljabar Relasional
Model Data Relasional.
Pertemuan 2 Model Data, Relational Data Model, Database Schema, DDL
Outline: Relational Data Model Entity Relationship Diagram
SQL.
Aljabar Relasional (Relational Algebra)
Matakuliah Desain Basis Data Oleh Aziz Musthafa, S.Kom
Daniel Damaris Novarianto S. UNIV. GUNADARMA
Operasi Relasional Basis Data
MODEL RELASIONAL.
Konsep Teknologi Informasi B
Model Berorinetasi Data
SQL (Structured Query Language)
SQL OVERVIEW.
SQL (Structured Query Language)
ALJABAR RELASIONAL DAN KALKULUS RELASIONAL
Aljabar Relational (Relational Algebra) MEETING 6
Soal Quiz Perancangan Basis Data
Sistem Basis Data Konsep Database Relasional
SISTEM BASIS DATA STMIK BANI SALEH BEKASI Salim
Model Relational DATABASE
Presented by Team Basis Data
RELATIONAL MODEL (FORMAL QUERY LANGUAGE)
Operasi Relasional Basis Data
Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma
Aljabar Dan Kalkulus Relasional
Aljabar Relasional.
SQL Part 1.
Aljabar Relational (Relational Algebra) MEETING 6
PEMROGRAMAN BASIS DATA
MODEL RELASIONAL Desain Basis Data.
Aljabar Relational.
MODEL DATA RELASIONAL (1)
Microsof Acces 2007 adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah.
Model Berorinetasi Data
Aljabar Relasional (Relational Algebra)
Basis Data - Udinus Semarang
Basis Data Bab 3 Structured Query Language (SQL).
Model Data Relasional.
Basis Data Bahasa Kueri Basis Data
Tahapan pengembangan sistem basis data
Model dan Aljabar Relasional
MODEL RELASIONAL.
ALJABAR RELASIONAL (LANJUTAN)
Basis Data Bahasa Kueri Basis Data
Pengantar Teknologi SIM 2 (pertemuan 6)
Transcript presentasi:

DataBaseManagementSystem MAGISTER TEKNIK INFORMATIKA M O D E L R E L A S I O N A L Struktur Model Relasional Aljabar Relasional Perluasan Operasi Aljabar Relasional Tupel Kalkulus Relasional Domain Kalkulus Relasional Modifikasi Database Views

What is Relational Model O V E R V I E W Biasa disebut dengan “Relational Data Model” Adalah suatu model data dimana data disimpan dalam bentuk relasi Merupakan “Record-based Logical Models” User Customer UserID FirstName LastName 100 Mary Abermany 101 Jerry Caldera 104 Alea Copley 107 Murugan Jacksoni CustID Phone LastName 100 335-6421, 454-9744 Abermany 101 215-7789 Caldera 107 299-9090 Jacksoni Relational Model Non-Relational Model

Why Study Relational Model O V E R V I E W Most widely used model, DB implementations are based on it Vendors : IBM, Microsoft, Oracle, Sybase, Informix, etc. Legacy systems (Warisan sistem sebelumnya) Extremely simple: only one concept (the relation/table) A good match for how we think about our data Has an elegant mathematical design theory Goals : Mendapatkan struktur data, manipulasi data dan keutuhan data yang baik

Bagian 1 : Struktur Model Relasional Relasi (Relation) Definisi : Relasi adalah tabel data 2 dimensi dengan karakteristik tertentu. Tabel 2 dimensi –layaknya suatu matriks- mempunyai Baris (rows/records), dan Kolom (columns/attribute/field) Karakteristik Relasi : Mempunyai nama yang unik. Setiap nilai harus atomik (not multivalued, not composite) Setiap baris harus unik (can’t have two rows with exactly the same values for all their fields) Atribut pada tabel (columns) harus mempunyai nama yang unik Setiap nilai isian pada kolom harus berdomain sama Order (derajat) kolom atau baris tidak penting NOTE : 1. Istilah Relasi pada model relasional tidak sama dengan relasi E-R model 2. Digunakan hanya untuk struktur lojik DB dan bukan untuk struktur fisik

Ya, memenuhi syarat Relasi Bagian 1 : Struktur Model Relasional Apakah ini Relasi ? Ya, memenuhi syarat Relasi UserID FirstName LastName 100 Mary Abermany 101 Jerry Caldera 104 Alea Copley 107 Murugan Jacksoni CustID Phone LastName 100 335-6421, 454-9744 Abermany 101 215-7789 Caldera 104 610-9850 Copley 107 299-9090 Jacksoni Bukan Relasi, ada sel bernilai ganda CustID Phone LastName 100 335-6421 Abermany 101 215-7789 Caldera 104 610-9850 Copley 107 299-9090 Jacksoni Bukan Relasi, ada 2 baris identik

Bagian 1 : Struktur Model Relasional Terminologi Model Relasional Bagian 1 : Struktur Model Relasional Relasi : Tabel yang memiliki baris dan kolom Atribut : Nama kolom pada relasi Domain : Kumpulan nilai yang mungkin (legal) untuk satu atribut atau lebih Tupel : Baris suatu relasi dan memuat hanya satu nilai per atribut Degree : Jumlah atribut pada relasi (unary, binary, ternary, n-ary) Kardinalitas : Jumlah tupel pada relasi NOTE : Domain Atribut = Atribut + Nama Domain + Deskripsi + Definisi Domain

Bagian 1 : Struktur Model Relasional Terminologi Model Relasional Sinonim StudioFilm Primary Key idstudio studioName STD001 Fox STD002 Disney STD003 Paramount Atribut Foreign Key Relasi JudulFilm Primary Key idfilm title year length filmType idstudio F001 Star Wars 1977 124 color STD001 F002 Mighty Ducks 1991 104 STD003 F003 Wayne’s World 1992 95 Tupel Kardinaiitas=3 Degree=6

Bagian 1 : Struktur Model Relasional Terminologi Model Relasional Contoh : Domain Atribut Relasi JudulFilm Atribut Nama Domain Deskripsi Definisi idfilm IdFilms Identitas film Character, size 4, range : F001 – F999 title Titles Judul film Character, size 40 year Years Tahun pembuatan film Date, format : yyyy length Lengths Panjang film dalam satuan menit Integer, 3 digit filmType FilmTypes Jenis Fim Character, size 20 idstudio IdStudios Kode Studio pembuat film Character, size 6, range : STD001 – STD999

Bagian 1 : Struktur Model Relasional Key Field (Field Kunci) Keys : Field khusus yang digunakan untuk 2 tujuan : Primary keys : are unique identifiers of the relation. This is how we can guarantee that all rows are unique. Foreign keys : identifiers that enable a dependent relation (on the many side of a relationship) to refer to its parent relation (on the one side of the relationship) Keys can be simple (a single field) or composite (more than one field) Keys usually are used as indexes to speed up the response to user queries

Bagian 1 : Struktur Model Relasional Key Field (Field Kunci) Contoh Primary Key Foreign Key (implements 1:N relationship between customer and order) Combined, these are a composite primary key (uniquely identifies the order line)…individually they are foreign keys (implement M:N relationship between order and product)

Bagian 1 : Struktur Model Relasional Definisi Matematis Relasi Bagian 1 : Struktur Model Relasional Produk Kartesius (Cartesian Product) Misal diketahui himpunan D1 dan D2, cartesian product D1 x D2 adalah himpunan semua pasangan (d1, d2) dimana d1 adalah anggota D1 dan d2 adalah anggota D2. D1 x D2 = {(d1, d2)| d1  D1, d2  D2} Contoh : D1 = {1,2} dan D2 = {3,4,5,6} maka D1 x D2 = {(1,3), (1,4), (1,5), (1,6), (2,3), (2,4), (2,5), (2,6)} Relasi Relasi adalah sembarang subset (himpunan bagian) dari D1 x D2. Contoh : R = {(1,2), (2,4)} adalah relasi. Suatu relasi dapat ditulis menggunakan sifat-sifat hubungan tertentu. Misalnya untuk R tersebut, R = {(x, y)| x  D1, y  D2 dan y = 2x} dan R  D1 x D2

Bagian 1 : Struktur Model Relasional Definisi Matematis Relasi Bagian 1 : Struktur Model Relasional Produk Kartesius (Cartesian Product) Misal diketahui himpunan D1, D2, D3, …, Dn maka cartesian product D1 x D2 x D3 x … Dn adalah himpunan semua pasangan (d1, d2, d3, …, dn) dimana d1 anggota D1, d2 adalah anggota D2, d3 anggota D3, …, dn anggota Dn. D1 x D2 x D3 x … Dn = {(d1, d2, d3, …, dn) | d1  D1, d2  D2, d3  D3, …, dn  Dn} = Relasi Relasi adalah sembarang himpunan n-tupel yang merupakan subset dari cartesian product dari n himpunan.

Bagian 1 : Struktur Model Relasional Definisi Matematis Relasi Bagian 1 : Struktur Model Relasional Untuk menunjukkan keanggotaan tupel : Jika tupel t berada pada relasi R, ditulis t  R, Maka t1[idfilm] diartikan sebagai atribut idfilm pada tupel 1 dan bernilai t1[idfilm]=“F001”. Dengan cara sama, maka : t1[year]=1977, t2[length]=104, t3[idstudio]=“STD001”, t3[filmType]=“color”, Dan seterusnya. JudulFilm idfilm title year length filmType idstudio F001 Star Wars 1977 124 color STD001 F002 Mighty Ducks 1991 104 STD003 F003 Wayne’s World 1992 95 Misal D1 = {domain idfilm}, D2 = {domain title}, D3 = {domain year}, D4 = {domain length} D5 = {domain filmType}, D6 = {domain idstudio} Maka : Setiap baris pada JudulFilm memuat 5-tupel yaitu (d1, d2, d3, d4, d5) Dimana d1  D1, d2  D2, d3  D3, d4  D4, d5  D5 dan d6  D6. Secara umum : JudulFilm memuat subset dari himpunan yang beranggotakan semua baris yang mungkin.

Bagian 1 : Struktur Model Relasional Skema Database Relasional Bagian 1 : Struktur Model Relasional Database Relasional Database yang terdiri dari kumpulan relasi. Dalam praktek, database relasional berisi relasi dengan duplikasi baris. Relasi dapat dinyatakan menjadi 2 bentuk : Instance Dalam bentuk tabel, dengan baris dan kolom beserta item datanya. Schema Dalam bentuk skema lojik berisikan daftar atribut beserta domain yang sesuai. We will discuss relation schema for study relational model

Bagian 1 : Struktur Model Relasional Skema Database Contoh : Relation Instance Contoh : Relation Schema Students Students(sid, name, login, age, gpa) atau Student(sid:string, name:string, login:string, age:integer, gpa:real) Students=(sid, name, login, age, gpa) atau dengan domainnya

Bagian 2 : Aljabar Relasional Overview Bagian 2 : Aljabar Relasional Before …… Model relasional memberikan kemudahan dalam mendefinisikan struktur model data (DDL), khususnya menggunakan skema relasional dengan menyebutkan atribut dan domainnya.  1st goals for relational database Now …… How the relational model defines the means for Data Manipulation Language (DML).  Need : Query Languages  Most strategy : relational algebra and relational calculus.

Bagian 2 : Aljabar Relasional Query Languages MS Access Examples Query languages adalah bahasa yang digunakan oleh user untuk memperoleh informasi dari database (manipulasi data). Prosedural, user memberikan instruksi ke sistem untuk melakukan operasi pada database. Selain harus tahu data apa yang dibutuhkan, user juga harus tahu bagaimana data tersebut diperolehnya. Contoh : komersial  dbase, foxbase, C++, dll model relational  algebra relational Non Prosedural, user secara khusus memberikan data apa yang dibutuhkan tanpa harus tahu bagaimana cara mendapatkannya. Contoh : komersial  SQL, QBE, QUEL dll model relational  tupel calculus relational

Bagian 2 : Aljabar Relasional Query Languages Bagian 2 : Aljabar Relasional Bagian Bahasa Query : Data Definition Language (DDL) Bahasa yg digunakan untuk menggambarkan basis data secara keseluruhan, Operasi yang dapat dijalankan adalah membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur. Hasil kompilasi dari DDL ini adalah Kamus Data (Data Dictionary) Data Manipulation Language (DML) Bahasa untuk melakukan manipulasi dan pengambilan data pada suatu basis data, seperti : penyisipan, penghapusan dan update.

Bagian 2 : Aljabar Relasional Merupakan Procedural Query language. Terdiri dari himpunan operasi menggunakan operator yang diterapkan pada relasi. Satu atau lebih relasi (sebagai input) dapat dimanipulasi menggunakan operator-operator untuk mendapatkan hasil/informasi yang diinginkan. Agak sulit diterapkan, salah satu alasannya adalah karena prosedural. Dimana kita harus tahu tidak hanya “Data Apa” yang diinginkan, tetapi juga harus tahu “Bagaimana Mendapatkan”. Tidak digunakan pada pemrosesan database komersial dan bahkan tidak ada produk DBMS komersial yang menyediakan fasilitas aljabar relational. Walaupun begitu, aljabar relasional sangat membantu memahami bagaimana manipulasi database relasional. Selain itu, aljabar relasional juga merupakan fundamental dalam mempelajari SQL.

Bagian 2 : Aljabar Relasional Operator Dasar : Select (), Project(), Cartesian (Cross) Product (), Set-Difference (), Union () Operator Tambahan : Intersection (), Join, Division (), Rename, Assignment Sifat Operasi : Unary, hanya melibatkan satu relasi (Select, Project, Rename) Binary, melibatkan 2 relasi (Cross Product, Union, Set Difference) Operasi dapat bersifat Komposit

Bagian 2 : Aljabar Relasional Select () Operation Bagian 2 : Aljabar Relasional Select operation : melakukan seleksi terhadap tuple yang memenuhi predikat (persyaratan / kriteria) yang diinginkan. Notasi : p(R) ; p = selection predicate ; R = relasi Definisi : p(R) = {t | t  R dan p(t)} Predikat dapat bersifat logika, operator : V (atau), Λ (dan) atau  (not). Juga dapat bersifat pembanding, operator : >, <, , , =, 

Bagian 2 : Aljabar Relasional Select () Operation Bagian 2 : Aljabar Relasional Contoh : Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Tentukan tupel pada Students, yang namenya = Smith Tentukan tupel pada Students, yang agenya 18 dan gpa .3.0 name=“Smith”(Students) age18 gpa>3.0(Students) Students Students sid name login age gpa 53668 Smith smith@eecs 18 3.2 53650 smith@math 19 2.8 sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2

Bagian 2 : Aljabar Relasional Project () Operation Project operation : memilih kolom/field/atribut tertentu dari relasi Notasi : K(R) ; K = 1 atau lebih kolom yang dipilih ; R = relasi Definisi : K(R) = {t[K] | t  R} Jika ada tupel yang nilainya sama, diambil hanya satu tupel Students name(Students) name Jones Smith sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Tampilkan kolom name pada relasi Students name,age(Students) name age Jones 18 Smith 19 Tampilkan kolom name dan age pada relasi Students

Bagian 2 : Aljabar Relasional Operasi Majemuk Bagian 2 : Aljabar Relasional Hasil dari suatu operasi dapat menjadi input dari operasi lain Students age18 gpa>3.0(Students) sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 53650 smith@math 19 2.8 Students sid name login age gpa 53666 Jones jones@cs 18 3.4 53668 Smith smith@eecs 3.2 sid, name(age18 gpa>3.0(Students)) Students sid name 53666 Jones 53668 Smith

Bagian 2 : Aljabar Relasional Cartesian Product () Operation Bagian 2 : Aljabar Relasional Cartesian Product relasi R1 dan R2, ditulis R1  R2, adalah relasi yang beranggotakan semua tupel (r1, r2) yang mungkin, dimana r1  R1 dan r2 R2  disebut kombinasi dari R1 dan R2 Notasi : R1  R2 = {(r1,r2)| r1  R1, r2 R2} Jika R1 mempunyai n1 tupel dan R2 mempunyai n2 tupel maka R1  R2 mempunyai (n1.n2) tupel Students Consultant Students  Consultant sid name age gpa 53666 Jones 18 3.4 53668 Smith 3.2 53650 19 2.8 cid cname C001 James C002 Schole sid name age gpa cid cname 53666 Jones 18 3.4 C001 James C002 Schole 53668 Smith 3.2 53650 19 2.8

Bagian 2 : Aljabar Relasional Cartesian Product () Operation Bagian 2 : Aljabar Relasional Students Consultant sid name age gpa 53666 Jones 18 3.4 53668 Smith 3.2 cid cname stat Stcon C001 James C1 53666 C002 Schole 53668 C003 Brown C2 C005 Murphy Ket : C1 = Konsultan Utama C2 = Asisten Konsultan Siapakah nama konsultan dari siswa yang bernama “Jones” ?

Bagian 2 : Aljabar Relasional Cartesian Product () Operation Bagian 2 : Aljabar Relasional Step-1 Students  Consultant sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 C002 Schole 53668 C003 Brown C2 C005 Murphy Smith 3.2 Students sid name gpa 53666 Jones 3.4 53668 Smith 3.2 Consultant cid cname stat Stcon C001 James C1 53666 C002 Schole 53668 C003 Brown C2 C005 Murphy Untuk memperoleh informasi nama konsultan seorang siswa maka perlu dioperasikan Cartesian Product. Tapi relasi yang diperoleh masih belum menjawab pertanyaan karena belum jelas siapa yang membimbing Jones

Bagian 2 : Aljabar Relasional Cartesian Product () Operation Bagian 2 : Aljabar Relasional Step-2 Dari hasil tsb., untuk mendapatkan konsultan dari siswa bernama “Jones”, digunakan operasi Select. name=“Jones”(Student  Consultant), hasilnya adalah : sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 C002 Schole 53668 C003 Brown C2 C005 Murphy Sampai disini juga masih belum dapat dipastikan siapa konsultan Jones, sebab seorang siswa hanya dibimbing oleh sebanya-banyaknya 2 konsultan, yaitu konsultan utama dan asisten konsultan. Untuk memastikannya, digunakan operator Select dengan kondisi sid = stcon sid=stcon( name=“Jones”(Student  Consultant)), hasilnya adalah : sid name gpa cid cname stat stcon 53666 Jones 3.4 C001 James C1 C003 Brown C2

Bagian 2 : Aljabar Relasional Cartesian Product () Operation Bagian 2 : Aljabar Relasional Step-3 Dari hasil tsb., untuk menampilkan hanya nama konsultan dari siswa bernama “Jones” adalah : cname(sid=stcon(name=“Jones”(Student  Consultant))) cname James Brown

Bagian 2 : Aljabar Relasional Union () Operation Bagian 2 : Aljabar Relasional Union operation : menyatukan beberapa relasi sebagai satu relasi / menggabungkan hasil dari dua buah query Baris yang bernilai sama hanya diambil satu (tidak ada duplikasi) Notasi : R  S Definisi : R  S = {t | t  R atau t  S } Syarat : Jumlah atribut R = Jumlah atribut S Domain atribut ke-i dari R = Domain atribut ke-i dari S Consultant2 Consultant1 Consultant1  Consultant2 cid cname C001 James C002 Schole C004 Muller cid cname C001 James C003 Brown C004 Muller C005 Murphy cid cname C001 James C002 Schole C003 Brown C004 Muller C005 Murphy

Bagian 2 : Aljabar Relasional Union () Operation Bagian 2 : Aljabar Relasional Contoh : Pinjam Bname Loan# Cname Amount BCA Pemuda 170 Jony 1000000 BCA Majapahit 102 Hari 2000000 Tabungan Bname Loan# Cname Balance BCA Pemuda 102 Hari 400000 204 Agus 700000 Akan menampilkan semua nama nasabah yang mempunyai tabungan, pinjaman atau keduanya

Bagian 2 : Aljabar Relasional Set-Difference () Operation Bagian 2 : Aljabar Relasional It’s the last slide …. Set difference operation : menemukan tupel yang berada pada satu relasi tapi tidak berada pada relasi yang lain Notasi : R  S Definisi : R  S = {t | t  R dan t  S } Syarat : Jumlah atribut R = Jumlah atribut S Domain atribut ke-i dari R = Domain atribut ke-i dari S Consultant1 Consultant2 Siapa asisten konsultan yang tidak merangkap sebagai konsultan utama ? cid cname C001 James C002 Schole C004 Muller cid cname C001 James C003 Brown C004 Muller C005 Murphy Consultant2 – Consultant1 cid cname C003 Brown C005 Murphy cname Brown Murphy cname(Consultan2 – Consultan1)

Bagian 2 : Aljabar Relasional Set-Difference () Operation Bagian 2 : Aljabar Relasional Contoh : Pinjam Bname Loan# Cname Amount BCA Pemuda 170 Jony 1000000 BCA Majapahit 102 Hari 2000000 Tabungan Bname Loan# Cname Balance BCA Pemuda 102 Hari 400000 204 Agus 700000 Akan menampilkan semua nama nasabah yang mempunyai simpanan tetapi tidak mempunyai pinjaman.

Sampai Disini Dulu end of this session

 Evolution of DB Systems Flat files - 1960s - 1980s Hierarchical – 1970s - 1990s Network – 1970s - 1990s Relational – 1980s - present Object-oriented – 1990s - present Object-relational – 1990s - present Data warehousing – 1980s - present Web-enabled – 1990s - present Record-based Logical Models Most widely used model, specially for commercial data processing applications 

Network Database Model Example from CODASYL http://coronet.iicm.edu/wbtmaster/allcoursescontent/netlib/library.htm Please visit … Network Database Model Example from CODASYL

OO vs. EER Data Modeling Object Oriented EER Class Entity type Object Object Oriented Model (OO Model) OO vs. EER Data Modeling Object Oriented EER Class Entity type Object Entity instance Association Relationship Inheritance of attributes Inheritance of attributes Inheritance of behavior No representation of behavior Object-oriented modeling is frequently accomplished using the Unified Modeling Language (UML)

Example : Class Diagram and Object Diagram (a) Class diagram Closed diamond indicates composition. The room cannot exist without the building (b) Object diagram

Example : UML class diagram for a university database The following slides illustrate the ODL implementation of this UML diagram

Example : ODL Schema for university database

Example : Object Relational Model (OR Model)

Figure 1-10 An enterprise data warehouse