Entity-Relationship Model


You can have data without information, but you cannot have information without data.
- Daniel Keys Moran




Alfa Nugraha Pradana

Prodi Statistika dan Sains Data IPB University

Outline


  • Perancangan Database
  • Terminologi Database
  • DB Browser for SQLite
  • PostgreSQL
  • Shiny
  • GitHub fork

Perancangan Database

Fase Perancangan Database


  1. Pengumpulan dan analisis kebutuhan, memahami dan mendokumentasikan kebutuhan data bersamaan dengan analisis kebutuhan fungsional

  2. Desain konseptual, deskripsi singkat dari kebutuhan data pengguna

  3. Desain logis (Pemetaan Data dengan Model), implementasi database menggunakan DBMS seperti model relasi (SQL)

  4. Desain fisik, membangun struktur penyimpanan internal bersama dengan aplikasi database

Terminologi Database

Istilah


  • Enterprise: organisasi atau lembaga yang mengelola database. ex. Universitas, Rumah Sakit

  • Entitas: objek yang akan disimpan dan dapat dibedakan dengan objek lain. ex. Mahasiswa, Mata Kuliah, Dosen, Fakultas

  • Atribut: unsur pada entitas yang berisi data. ex. NIM, Nama

  • Nilai data: nilai yang disimpan pada setiap entitas. ex. Alfa, G1501211013

  • Record: kumpulan unsur data yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.

  • Key: penanda unik untuk mengidentifikasi suatu entitas.

Membangun Suatu Entitas

graph Employee {
  layout=neato
  overlap=false
  node [shape=box]; EMPLOYEE;
  node [shape=circle, fixedsize=true, width=0.9] ssn; sex; salary; name; birth_date; address; supervisor; fname; lname;
  ssn -- EMPLOYEE;
  sex -- EMPLOYEE;
  salary -- EMPLOYEE;
  name -- EMPLOYEE;
  birth_date -- EMPLOYEE;
  address -- EMPLOYEE;
  supervisor -- EMPLOYEE;
  fname -- name;
  lname -- name;
}

Employee EMPLOYEE EMPLOYEE ssn ssn ssn–EMPLOYEE sex sex sex–EMPLOYEE salary salary salary–EMPLOYEE name name name–EMPLOYEE birth_date birth_date birth_date–EMPLOYEE address address address–EMPLOYEE supervisor supervisor supervisor–EMPLOYEE fname fname fname–name lname lname lname–name

Entity-Relationship Diagram 1

%%| echo: true
%%| fig-width: 4.5
erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses

Entity-Relationship Diagram 2


%%| echo: true
%%| fig-width: 3
erDiagram
    CUSTOMER ||--o{ ORDER : places
    CUSTOMER {
        string name
        string custNumber
        string sector
    }
    ORDER ||--|{ LINE-ITEM : contains
    ORDER {
        int orderNumber
        string deliveryAddress
    }
    LINE-ITEM {
        string productCode
        int quantity
        float pricePerUnit
    }

erDiagram
    CUSTOMER ||--o{ ORDER : places
    CUSTOMER {
        string name
        string custNumber
        string sector
    }
    ORDER ||--|{ LINE-ITEM : contains
    ORDER {
        int orderNumber
        string deliveryAddress
    }
    LINE-ITEM {
        string productCode
        int quantity
        float pricePerUnit
    }

DB Browser for SQLite

Antarmuka

PostgreSQL

Antamuka pgAdmin

ERD in PostgreSQL

Download contoh file SQL untuk PostgreSQL: Chinook Database

Shiny RStudio

ShinyApps

GitHub fork

Fork

Salinan repositori yang ingin dikelola secara mandiri tanpa harus mengubah kode sumber dari pemilik asal repositori


  • Pada GitHub, pilih repositori yang akan dituju

  • Pada pojok kanan atas, klik menu Fork

  • Buat repositori baru yang diinginkan, secara default nama repositori tersebut akan sama dengan asalnya

  • Klik Create fork

Questions?