Minggu, 26 November 2017

Menggabungkan dua tabel mysql (inner join)

Buatlah dua buah tabel

Kita ingin menyajikan informasi yang berisi nama mata kuliah, jumlah SKS, dan nama dosen yang mengajar. Yang perlu diperhatikan adalah kolom NIP dari kedua tabel. Kolom NIP inilah yang akan kita gunakan untuk menggabungkan kedua tabel. Kita ingin menyajikan informasi yang berisi nama mata kuliah, jumlah SKS, dan nama dosen yang mengajar. Yang perlu diperhatikan adalah kolom NIP dari kedua tabel. Kolom NIP inilah yang akan kita gunakan untuk menggabungkan kedua tabel.

INNER JOIN

Query INNER JOIN memiliki beberapa variasi, yaitu SELECT..INNER 
JOIN..ON dan SELECT..INNER JOIN..USING. Kita akan membahasnya satu persatu.

INNER JOIN ON
         Syarat untuk INNER JOIN adalah kedua tabel harus memiliki sebuah kolom dengan nilai yang sama yang akan kita gunakan dalam proses JOIN. Dalam contoh kita, kolom tersebut adalah kolom NIP dari tabel nama_dosen, dan kolom NIP_dosen dari tabel mata_kuliah. Perhatikan walaupun keduanya berisi NIP, namun nama kolomnya berbeda.
         Saya akan menggabungkan tabel mata_kuliah dan daftar_dosen untuk mendapatkan tampilan seluruh mata kuliah, jumlah sks, dan nama dosen yang mengajar. Kita menggunakan tabel mata_kuliah sebagai tabel pertama, dan tabel daftar_dosen sebagai tabel kedua.

 " SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN nama_tabel_kedua ON nama_kolom_join_tabel_pertama = nama_kolom_join_tabel_kedua " 

         nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom dalam tabel, atau hanya kolom tertentu saja.
         nama_tabel_pertama adalah nama tabel pertama yang akan digabung.
         nama_tabel_kedua adalah nama tabel kedua yang akan digabung.
         nama_kolom_join_tabel_pertama adalah nama kolom yang akan digunakan sebagai join dari tabel pertama.
         nama_kolom_join_tabel_kedua adalah nama kolom yang akan digunakan sebagai join dari tabel kedua.
Hasilnya :



INNER JOIN USING
         Syarat untuk INNER JOIN..USING adalah kedua tabel harus memiliki nama kolom yang sama.Dalam contoh kita, kolom tersebut adalah kolom NIP. Namun karena nama kolom NIP untuk tabel mata_kuliah adalah NIP_dosen, sedangkan pada kolom daftar_dosen kolom NIP hanya NIPsaja, maka kita harus menyamakannya. Untuk hal ini saya memutuskan kedua kolom akan bernama NIP_dosen.

" SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN nama_tabel_kedua USING (nama_kolom_join) " 

         nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom dalam tabel, atau hanya kolom tertentu saja.
         nama_tabel_pertama adalah nama tabel pertama yang akan digabung.
         nama_tabel_kedua adalah nama tabel kedua yang akan digabung.
         nama_kolom_join adalah nama kolom yang akan digunakan sebagai join.

Hasilnya :



Perbaikan untuk INNER JOIN ON : 

         Setelah kita merubah nama kolom NIP menjadi NIP_dosen pada tabel daftar_dosen, sekarang tiap tabel memiliki nama kolom yang sama, yakni NIP_dosen. Jika kita menjalankan kembali query SELECT..INNER JOIN..ON dengan nama kolom ini, MySQL akan mengeluarkan error:


         Dari pesan error yang terjadi, sebenarnya MySQL ‘bingung’ dalam memilih kolom. Query ON NIP_dosen=NIP_dosen menjadi ambigu karena kedua tabel kita memiliki nama kolom yang sama.
         Untuk mengatasi ambiguitas ini, MySQL mengharuskan kita secara eksplisit menyebutkan nama tabelnya. Cara penulisan ini menggunakan tanda titik sebagai pemisah:
         Nama_Tabel.Nama_Kolom
         Misalkan untuk merujuk pada kolom NIP_dosen pada tabel mata_kuliah, maka penulisannya menjadi:
         Mata_kuliah.NIP_dosen

Sehingga query SELECT..INNER JOIN..ON yang benar menjadi:

Query DDL DML Lanjutan Dan Macam-Macam Fungsi SQL

Bahasa query
(query language) adalah bahasa khusus yang digunakan untuk melakukanquery pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE
kota=”Yogyakarta” AND umur<40. Query ters
ebut meminta semua record dari basis datayang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakartadan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan).Standar bahasa query yang banyak digunakan adalah SQL (structured query language).Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, querydengan parameter yang telah tersedia dan query by example.

Query dibedakan menjadi 2

, yaitu1. Untuk membuat/mendefinisikan obyek-obyek database seperti membuat tabel, relasi dansebagainya. Biasanya disebut dengan Data Definition Language (DDL)2. Untuk memanipulasi data, yang biasanya dikenal dengan Data Manipulation Language(DML). Manipulasi data bisa berupa:a. Menambah, mengubah atau menghapus data.b. Pengambilan informasi yang diperlukan dari database, yang mana datanya diambil daritabel maupun dari query sebelumnya

Sebuah basis data biasanya dapat dipilih ke dalam 2 bentuk yaitu:
1. Data Definition Language(DDL)
2. Data Manipulation Languange(DML)

1. DDL
Struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan didefinisikan dengan bahasa khusus yang disebut DDL. Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data
Contohnya :
a. Create database : adalah perintah yang di gunakan untuk memulai membuat database.
b. Modify database : adalah perintah yang digunakan untuk memodifikasi database.

c. Create table : adalah perintah yang digunakan untuk membuat tabel.
d. Modify table : adalah perintah yang digunakan untuk memodifikasi table.

2. DML
Merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa:
a. Penyisipan/Penambahan data baru ke suatu basis data
b. Penghapusan data dari suatu basis data
c. Pengubahan data dari satu basis data
LIST PERINTANG DARI DDL DAN DML
·  Data Definisi Language (DDL)
DDL merupakan bahasa atau perintah pada SQL yang digunakan untuk mendefinisikan data seperti menulis, menghapus dan mengatur atau mengubah data.
Perintah – perintah yang ada pada komponen DDL yaitu CREATE, DROP, dan ALTER.
  • CREATE
    digunakan untuk membuat database, membuat tabel, membuat view dan membuat index.

    Membuat database
    Contoh sintak
    Create database namadatabase

    Membuat tabel lengkap dengan kolomnya

    Contoh sintak
    Create table namatabel
    (namakolom1 typedata1,
    namakolom2 typedata2,
    namakolom3 typedata3)


    Type data dapat berupa char(), int, numerik dan sebagainya sesuai denga nama kolom.

    Membuat view
    view merupakan bentuk alternatif penyajian data dari satu tabel atau lebih, beberapa tujuan membuat view adalah meningkatkan keamanan data serta penyederhanaan bagi para pengguna.

    Contoh sintak
    Create view namaview (kolom1, kolom2, . . . .)
    as select statement from namatabel
    [with check option]


    Keterangan :
    Namaview : nama view yang dibuat
    Column : nama atribut untuk view
    Statement : atribut yang dipilih dari tabel database
    Namatabel : nama tabel yang ada pada basis data

    Membuat index
    yaitu berfungsi untuk membuat index

    Contoh sintak
    create [unique] index namaindex
    on namatabel (namakolom)

  • DROP
    Drop pada SQL adalah perintah yang di gunakan untuk menghapus data – data yang telah di simpan pada database.

    Drop tabel
    yaitu menghapus tabel

    Contoh sintak
    Drop table namatabel

    Drop view
    menghapus view yang telah di buat

    Contoh sintak
    Drop view namaview

    Drop index
    Menghapus index

    Contoh sintak
    Drop index namaindex

    hal yang perlu di ingat adalah penghapusan atau penggunaan perintah view tidak dapat di urungkan.

  • ALTER
    kegunaan dari perintah alter adalah untuk merubah atribut pada suatu tabel

    Contoh sintak

    Alter table namatabel
    Modify (namakolom typekolom
    ) untuk mengganti type kolom dan nama kolom.

    alter table namatabel
    add (namakolom type kolom[[before, namakolom]])
    menambah kolom.

    alter table namatabel
    drop (namakolom typekolom)
    untuk menghapus kolom pada sebuah tabel.
·  Data Manipulation Language (DML)
  • INSERT
    insert berfungsi untuk menambah niali pada suatu tabel.

    Contoh sintak

    insert into namatabel values (‘value1’, ‘value2’,’ ...’)

    keterangan : value adalah nilai yang ingin dimasukkan ke dalam kolom
  • UPDATE
    Berfungsi untuk merubah record atau nilai didalam suatu kolom

    Contoh sintak

    Update namatabel SET namakolom = recordbaru where kondisi

    keterangan recordbaru di ubah sesuai dengan nama nilai baru yang akan di ubah
  • DELETE
    Menghapus record atau nilai didalam suatu kolom pada tabel tertentu

    Contoh sintak

    DELETE namakolom from namatabel where kondisi

  • SELECT
    select adalah perintah yang di gunakan untuk menampilkan nilai atau recor yang di pilih


    Contoh sintak

    select namakolom from namatabel
 ·  Data Control Language (DCL)
  • GRANT
    grant berfungsi untuk memberikan izin akses kepada pengguna


    Contoh sintak

    Grant privilages on namatabel to namapengguna

    artinya memebrikan izin akses kepada namapengguna
  • REVOKE
    yaitu untuk mencabut izin akses kepada pengguna yang telah di beri izin akses


    Contoh sintak

    REVOKE privileges ON namatabel from namapengguna
  1. Tanda *
    digunakan untuk memilih semua isi tabel

    Contoh sintak

    select * from namatabel
  2. FungsiWHERE
    berfungsi untuk menentkan suatu pilihan atau kondisi tertentu

    Contoh sintak

    select * from namatabel where namakolom = “kondisi”

  3. Fungsi DISTINC
    digunakan untuk menghilangakan nilai ganda pada suatu kolom atau tabel

    Contoh sintak

    select distinct namakolom from namatabel
  4. Operator AND
    digunakan untuk memilih nilai yang memiliki kondisi sama antara kondisi1 dan kondisi2
    contoh sintak
    select * from namatabel where kondisi1=’..’ AND kondisi2 = ‘...’
  5. Operator OR
    digunakan untuk memilih suatu tabel atau kolom dan menampilkan nilai jika salah satu kondisi  dari kondisi yang di tentukan memenuhi

    Contoh sintak

    select * from namatabel where kondisi1=’..’ OR kondisi2 = ‘...’
  6. Fungsi NOT
    di gunakan untuk memilih suatu nilai pada tabel atau kolom yang tidak sama dengan kondisi yang telah di tentukan

    Contoh sintak

    selesct * from namatabel where namakolom not = ‘kondisi’
  7. Fungsi ORDER BY
    digunakan untuk memilih suatu nilai dari tabel atau kolom dan mengurutkan data tersebut

    Contoh sintak

    select namakolom from nama tabel
    where namakolom = ‘kondisi’
    order by namakolompengurut desc/asc

    keterangan : namakolompengurut adalah dasar pengurutan
  8. Fungsi GROUP BY
    berfungsi untuk menelompokkan suatu data, namun pada pada fungsi ini juga biasanya paling banyak melibatkan operator pembanding dan fungsi perhitungan

    Contoh sintak

    s
    elect namakkolom from namatabel
    group by namakolomyangakandikelompokkan
    having count namakolom >4

    keterangan having count adalah fungsi yang digunakan untuk mendukung fungsi group by.
  9. Funsi BETWEEN
    fungsi between digunakan untuk memilih nilai di antara kondisi yang di tentukan

    Contoh sintak

    select * from namatabel where ‘kondisi’ between ‘kondisi’ – ‘kondisi’
  10. Fungsi PERHITUNGAN
    a.    Count untuk mengitung jumlah baris atau kolom
    b.    Sum di gunakan untuk menjumlahkan suatu nilai yag memiliki type data numerik
    c.    Avg berfungsi untuk membuat nilai rata – rata
    d.    Max berfungsi untuk mencari nilai terbesar dan
    e.    Min untuk mencri nilai terkecil

    Contoh sintak

    select avg namakolom from namatabel
  11. Fungsi JOIN
    • INNER JOIN (SIMPLE JOIN)
      yaitu bentuk kondisi join dimana di antara 2 atau lebih tabel yang ingin di join memiliki hubungan sehingga semua isi tabel yang di pilih bisa di tampilkan


      Contoh sintak

      select * from namatabel1 inner join namatabel2
      where namatabel1.kondisisama = namatabel1. kondisisama
    • NON-EQUIJOIN
      adalah kondisi join yang tidak menagndung opertor sama dengan (=)

      Contoh sintak

      select * from namatabel1 inner join namatabel2
      where namatabel1.kondisisama and namatabel1. kondisisama
    • OUTER JOIN
      yaitu bentuk nilai join yang memenuhi daari kedua  tabel, Outer join terdiri dari 2 yaitu,
      1. LEFT OUTER JOIN
        yaitu di tandai dengan operator (+), tabel asal atau yang memiliki tanda (+) akan dilengkapi dengan tabel yang lainnya dan berada pada sebelah kiri.

        Contoh sintak

        select tabel1.kolom, tabel2.kolom
        from tabel1, tabel2
        where tabel1.kolom (+) = tabel2.kolom


        atau

        select tabel1.kolom, tabel2.kolom
        from tabel1 left outer join tabel2
        on tabel1.kolom = tabel2.kolom
      2. RIGHT OUTER JOIN
        Sama dengan left outer join namun peletakan data atai nilai dari tabel lain berada pada sebelah kanan tabel asal.

        Contoh sintak

        select tabel1.kolom, tabel2.kolom
        from tabel1, tabel2
        where tabel1.kolom = tabel2.kolom(+)


        atau

        select tabel1.kolom, tabel2.kolom
        from tabel1 right outer join tabel2
        on tabel1.kolom = tabel2.kolom

Query Database

Pengertian
Adalah semacam kemampuan untuk menampilkan suatu data dari database dimana mengambil dari table-tabel yang ada di database, namun tabel tersebut tidak semua ditampilkan sesuai dengan yang kita inginkan. Data apa yang ingin kita tampilkan misalnya data peminjam dengan buku yang dipinjam, maka nanti akan mengambil data daritable peminjam dan tabel buku.

Bahasa query
(Query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE
kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis datayang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example.

Query dibedakan menjadi 2 yaitu   :

  • Untuk membuat/mendefinisikan obyek-obyek database seperti membuat tabel, relasi dansebagainya. Biasanya disebut dengan Data Definition Language (DDL)
  • Untuk memanipulasi data, yang biasanya dikenal dengan Data Manipulation Language(DML). Manipulasi data bisa berupa:a. Menambah, mengubah atau menghapus data.b. Pengambilan informasi yang diperlukan dari database, yang mana datanya diambil daritabel maupun dari query sebelumnya

Pengertian Data Flow Diagram (DFD) dan Contoh Gambar DFD

Data Flow Diagram (DFD)  merupakan suatu cara atau metode untuk membuat rancangan sebuah sistem yang mana berorientasi pada alur data yang bergerak pada sebuah sistem nantinya. Dalam pembuatan Sistem Informasi, DFD sering digunakan. DFD dibuat oleh para analis untuk membuat sebuah sistem yang baik. Dimana DFD ini nantinya diberikan kepada para programmer untuk melakukan proses coding. Dimana para programmer melakukan sebuah coding sesuai dengan DFD yang dibuat oleh para analis sebelumnya. Tools yang digunakan pada pembuatan DFD (Data Flow Diagram) yaitu EasyCase, Power Designer 6. Salah satu cara lain untuk mendesain sistem yaitu menggunakan UML(Unified Manual Language).



1. Terminator / Entitas Luar
Terminator mewakili entitas eksternal yang berkomunikasi dengan system yang sedang dikembangkan. Terdapat dua jenis terminator yaitu terminator sumber (source) dan terminator tujuan (sink). Terminator dapat berupa orang, organisasi, departemen didalam organisasi atau system lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari system.
2. Proses
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Proses menggambarkan bagian dari system yang mentransformalkan input menjadi output. Proses diberi nama untuk menjelaskan proses atau kegiatan apa yang sedang atau akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja yang membutuhkan objek.
3. Data Store
Data Store digunakan untuk membuat model sekumpulan paket data. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file hardisk, fita meagnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file folder dan agenda, yang digambarkan dengan dua garis sejajar.
4. Alur Data
Alur data yang menghubungkan data store dengan suatu proses.

Komponen DFD (Data Flow Diagram):
  1. User / Terminator: Kesatuan diluar sistem (external entity) yang memberikan input ke sistem atau menerima output dari sistem berupa orang, organisasi, atau sistem lain.
  2. Process: Aktivitas yang mengolah input menjadi output.
  3. Data Flow: Aliran data pada sistem (antar proses, antara terminator & proses, serta antara proses & data store).
  4. Data Store: Penyimpanan data pada database, biasanya berupa tabel.
Didalam DFD terdapat 3 level, yaitu :
1. Diagram Konteks : menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan biasanya diberi nomor 0 (nol). Semua entitas eksternal yang ditunjukkan pada diagram konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan.
2. Diagram Nol (diagram level-1) : merupakan satu lingkaran besar  yang mewakili lingkaran-lingkaran kecil yang ada di dalamnya. Merupakan pemecahan dari diagram Konteks ke diagram Nol. di dalam diagram ini memuat penyimpanan data.
3. Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam diagram Nol.
Syarat-syarat pembuatan DFD yang baik, dalam arti menyenangkan untuk dilihat dan mudah dibaca oleh pemakai adalah:
1. Pemberian nama untuk tiap komponen DFD.
2. Pemberian nomor pada komponen proses.
3. Penggambaran DFD sesering mungkin agar enak dilihat.
4. Penghindaran DFD yang rumit.
5. Pemastian DFD yang dibentuk itu konsisten secara logika.

Fungsi DFD
Fungsi dari Data Flow Diagram adalah :
  • Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi.
  • DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem.
  • DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.
Contoh DFD :


Pengertian DBMS Dan Contohnya Lengkap Serta Jelas

Pengertian DBMS Dan Contohnya dapat kamu baca dan pahami di artikel ini. DBMS adalah singkatan dari “Database Management System” yaitu sistem penorganisasian dan sistem pengolahan Database pada komputer. DBMS atau database management system ini merupakan perangkat lunak (software) yang dipakai untuk membangun basis data yang berbasis komputerisasi.
DBMS (Database Management system) ini juga dapat membantu dalam memelihara serta pengolahan data dalam jumlah yang besar, dengan menggunakan DBMS bertujuan agar tidak dapat menimbulkan kekacauan dan dapat dipakai oleh user sesuai dengan kebutuhan.
DBMS ialah perantara untuk user dengan basis data, untuk dapat berinteraksi dengan DBMS dapat memakai bahasa basis data yang sudah di tentukan oleh perusahaan DBMS. Bahasa basis data umumnya terdiri dari berbagai macam instruksi yang diformulasikan sehingga instruksi tersebut dapat di proses oleh DBMS.

Perintah atau instruksi tersebut umumnya ditentukan oleh user, adapun bahasa yang digunakan dibagi kedalam 2 (dua) macam diantaranya sebagaimana di bawah ini:
1. DDL (Data Definition Language)
Yang pertama adalah bahasa DDL atau kepanjangannya Data Definition Languange, yaitu dipakai untuk menggambarkan desain dari basis data secara menyeluruh. DDL (Data Definition Language) dapat dipakai untuk membuat tabel baru, memuat indeks, maupun mengubah tabel. Hasil dari kompilasi DDL akan disimpan di kamus data. Itulah definisi dari DDL.
2. DML (Data Manipulation Language)
Dan yang kedua adalah DML atau kepanjangannya Data Manipulation Language, yaitu dipakai untuk memanipulasi daan pengambilan data pada suatu basis data, misalnya seperti penambahan data yang baru ke dalam suatu basis data, menghapus data pada suatu basis data dan mengubah data pada suatu basis data. Itulah definisi dar DML.

Mcam-macam atau contoh DBMS (Database management system)
Adapun beberapa contoh dari DBMS, diantaranya seperti di bawah ini:

1. MySQL
Kelebihannya:
  • Free/gratis.
  • Selalu stabil dan cukup tangguh.
  • Keamanan yang cukup baik.
  • Sangat mendukung transaksi, dan dukungan dari banyak komunitas.
  • Sangat fleksisbel dengan barbagai macam program.
  • Perkembangan yang cepat.
Kekurangannya:
  • Kurang mendukung koneksi bahasa pemerograman misalnya seperti Visual Basic (VB), Foxpro, Delphi sebab koneksi ini dapat menyebabkan field yang dibaca harus sesuai dengan koneksi bari bahasa pemerograman visual tersebut.
  • Data yang dapat ditangani belum besar dan belum mendukung widowing Function.
2. Oracle
Kelebihannya:
  • Terdapat beragan fitur yang bisa memenuhi tuntutan fleksibilitas dari organisasi atau perusahaan yang besar.
  • Bisa mendayaggunakan lebih dari satu server dan penyimpanan data dengan cukup mudah.
  • Performa pemrosesan transaksi yang sangat tinggi.
Kekurangannya:
  • Pemakaiannya membutuhkan dana atau biaya karena mahal dan diperlukan DBA yang cukup handal sebab DBMS ini cukup rumit.
3. Microsoft SQL server
Kelebihannya:
  • DBMS ini sangat cocok untuk perusahaan mikro, menengah hingga perusahaan besar karena mampu mengelola data yang besar.
  • Mempunyai kelebihan untuk men-manage user serta tiap user-nya dapat diatur hak aksesnya terhadap pengaksesan database oleh DBA.
  • Tingkat pengamanan datanya sangat baik.
  • Dapat melakukan atau memiliki back-up, recovery, dan rollback data.
  • Kelebihan lainnya mempunyai kemampuan membuat database mirroring dan juga culustering.
Kekurangannya:
  • Hanya bisa berjalan pada platform OS (Operasi system) Microsoft windows.
  • Perangkat lunak (software) ini berilisensi dan tentunya pemakaiannya membutuhkan biaya yang tergolong cukup mahal.
Itulah beberapa contoh dari DBMS.

Berikut ini beberapa tujuan DBMS
Tujuannya:
  • Dapat digunakan secara bersama.
  • Kecepatan serta kemudahan dalam mengakses data.
  • Efisiensi ruang penyimpanan data.
  • Untuk menangani data dalam jumlah yang besar atau banyak.
  • Untuk menghilangkan duplikasi dan juga inkonsistensi data.
  • Untuk keamanan data.
  • Dan lain-lain.
Dan inilah komponen DBMS (Database Management System)
DBMS biasanya mempunyai komponen fungsional (modul), diantaranya sebagaimana di bawah ini:
  • File Manager adalah mengelola ruang didalam suatu disk dan juga struktur data yang digunakan untuk merepresentasikan informasi yang tersimpan didalam suatu disk.
  • Database Manager adalah menyediakan interface antar data low – level yang terdapat pada basis data dengan program aplikasi serta query yang diberikan ke suatu sistem.
  • Query Processor adalah menterjemahkan perintah dalam bahasa query ke instruksi low – level yang dapat dimengerti database manager.
  • DML Precompiler adalah mengkonversi pernyataan atau perintah DML, yang ditambahkan dalam suatu program aplikasi kepemangin prosedur normal dalam bahasa induk.
  • DDL Compiler adalah yang mengkonversi berbagai perintah DDL ke dalam sekumpulan tabel yang mengandung meta data.

Pengertian ERD (Entity Relationship Diagram)

Pengertian dari ERD (Entity Relationship Diagram) adalah suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.

Pada dasarnya ada tiga komponen yang digunakan, yaitu :
  • Entitas

Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.

  • Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendes-kripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.

  • Atribut Key
Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama
Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya

  • Atribut simple
atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi
Contoh : Alamat, penerbit, tahun terbit, judul buku.

  • Atribut Multivalue
nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue) nilai dari atrribute yang bersangkutan
Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.

  • Atribut Composite
Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau mempunyai sub attribute.
Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang

  • Atribut Derivatif
Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putus

  • Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.


Derajat relasi atau kardinalitas rasio
Menjelaskan jumlah maksimum hubungan antara satu entitas dengan entitas lainnya
 

One to One (1:1) : 
Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.

One to many (1:M / Many) : 
Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.

Many to Many (M:M) : 
Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya

Komponen ERD sebagai berikut :


Contoh Gambar ERD :