Share Everything to Everyone

Tampilkan postingan dengan label BASIS DATA. Tampilkan semua postingan
Tampilkan postingan dengan label BASIS DATA. Tampilkan semua postingan

Selasa, 15 Desember 2015

DATABASE MULTIMEDIA

03.32 Posted by ROSYID'S BLOG No comments

Basis data (database) adalah Representasi kumpulan fakta yang saling berhubungan disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Data perlu disimpan dalam basis data untuk keperluan penyediaan informasi lebih lanjut.

Database tersusun atas bagian yang disebut field dan record yang tersimpan dalam sebuah file. Sebuah field merupakan kesatuan terkecil dari informasi dalam sebuah database. Sekumpulan field yang saling berkaitan akan membentuk record.

Tidak dapat dipungkiri bahwa database merupakan media penyimpanan data yang paling banyak digunakan oleh aplikasi-aplikasi yang ada saat ini. Namun, semakin banyaknya aplikasi yang berhubungan dengan data multimedia maka database melakukan perkembangan dari multimedia database. Dalam makalah ini, akan dibahas tentang multimedia database.

DEFINISI MULTIMEDIA DATABASE.

Data multimedia diantaranya adalah:

• Citra.

Format Data: Data citra disimpan dalam format JPEG (Joint Picture Experts Group) .

• Audio.

• Video.

Format Data: Data audio & video dalam format MPEG (Moving Picture Experts Group).

– MPEG-1 menyimpan 1 menit video/audio dalam 12.5 megabytes

– MPEG-2 menyimpan 1 menit video/audio dalam 17 megabytes.

Database multimedia merupakan perluasan kemampuan basis data yang dapat menyimpan data tidak hanya text akan tetapi dapat berupa suara, gambar, animasi maupun data multimedia lainnya. Database Multimedia sendiri terdiri dari dua type, yaitu static dan dynamic media.

• Static media : Text, Graphic, Image.

• Dynamic media : Animation, Music, Video, Audio.

Hal-hal yang mempengaruhi perkembangannya adalah sebagai berikut :

1. Penggunaan komputer semakin luas dan kemampuan komputer semakin meningkat. Selain itu berkembangnya alat alat teknologi yang bisa menangkap display multimedia seperti handicam,kamera digital, scaner dan lainnya. Ditambah lagi media penyimpanan data yang semakin besar.

2. Jaringan komunikasi data dengan kecepatan tinggi yang sudah tersedia saat ini.

3. Semakin banyaknya aplikasi yang berhubungan dengan data multimedia.

ISI DARI MULTIMEDIA DATABASE.

Sebuah MMDB harus mengatur beberapa tipe informasi yang berbeda, berkaitan dengan data multimedia yang sebenarnya. Data-data tersebut adalah:

1. Media Data : Aktual data, dapat berupa gambar, audio, vidio yang dicapture, didigitalisasi, diproses, dikompress dan disimpan.

2. Metadata, mendeskripsikan beberapa aspek yang berbeda dari media data:

a) Media Format Data : Berisi informasi tentang format dari media data setelah ditambah, diproses dan diencoding. Sebagai contoh, media format data terdiri dari sampling rate, resolusi, frame rate, skema encoding dan lain-lain.

b) Media keyword data : Berisi deskripsi keyword, biasanya berhubungan dengan pembuatan media data. Contohnya sebuah vidio, biasanya memiliki tanggal, waktu dan tempat merekam. Biasanya disebut juga Content Descriptive Data.

c) Media feature Data : berisi fitur jadi dari media data. Suatu fitur menenetukan media content. sebagai contoh informasi tentang distribusi warna, jenis-jenis tekstur dan perbedaan bentuk yang ditampilkan pada gambar, sering disebut disebut juga content dependent data.

STRUKTUR MULTIMEDIA DATABASE.

a. Data Analysis Multimedia

Data disimpan ke dalam database sebagai raw,registering dan descriptive data type. Raw data umumnya direpresentasikan dengan pixel dalam bentuk byte dan bit.

Contoh : dalam image dapat direpresentasikan pixel dan untukmendapatkan image ini perlu diketahui ukuran dari image.

b. Data Modeling.

Data model dikhususkan dalam konseptual design dari multimedia database untuk meng-execute operasi khusus, seperti media object selection, insertion, querying dan retrieval.

c. Data Storage Multimedia.

Data object disimpan ke dalam sebuah database. Ada dua type media, yaitu continuous media (dynamic media) dan non-continuous media (static media). Continuous media memiliki real time property dan disimpan menggunakan storage server yang terpisah sedangkan non-continuous tidak memiliki real time property dan disimpan dalam database dengan meta-information.

d. Data Retrieval

Sasaran terakhir dari MMDB adalah bagaimana mengakses informasi multimedia secara efektif. Berdasarkan tanggapan dalam pengaksesan, object mulitmedia dibagi menjadi dua yaitu object aktif dan pasif. Object aktif adalah object yang berpartisipasi dalam proses retrieval, sedangkan object pasif tidak. Dalam kenyataannya semua object MMDB seharusnya menjadi object aktif.

e. Query Language

Dalam proses DBMS query user diproses dengan mendefinisikan query language sebagai bagian dari DBMS. Multimedia query language harus memiliki kemampuan untuk meng-handle complex, spatial dan temporal relationship. Multimedia query dapat dibagi menjadi sub-group,yaitu keyword querying, semantic querying, dan visual querying.

f. Multimedia communication

Komunikasi merupakan tujuan utama dari sistem informasi.Penyebaran multimedia memungkinkan multi-user untuk berkomunikasi satu sama lain.

MENDESIGN MULTIMEDIA DATABASE.

• Mengatur perpedaan tipe input, output dan media penyimpanan

Input:

Images : scaner, digital kamera

Audio : microphon, midi

Video : video kamera

Output:

Images : monitor, printer

Audio : speaker

Video : monitor dan speaker

• Menangani banyaknya model kompresi data dan format penyimpanan.

Images : bmp,jpeg,

Audio : midi, mp3

Video : mpeg, dat, avi

• Mendukung perbedaan platform dan sistem operasi.

Walaupun user dapat menggunakan sistem operasi yang berbeda, tetapi butuh user-level view database yang sama.

• Mengintegrasikan perbedaan data model.

Beberapa data seperti numerik dan text dapat di tangani dengan menggunakan Relasional database model. Tetapi untuk data seperti image dan video lebih baik jika ditangani dengan menggunakan Objek Oriented Data Model. Keduanya digabungkan dalam Multimedia Database.

• Memberikan sistem query yang user friendly untuk beberapa data media yang berbeda.

Contoh : query untuk menampilkan frame sample video , menampilkan klip yang sesuai dengan suatu track audio, deskripsi textual mengunakan keyword.

F. TIPE – TIPE DATABASE MULTIMEDIA.
a) LINKED MULTIMEDIA DATABASE.
Elemen data multimedia tidak disimpan secara
langsung, namun yang disimpan hanya link elemen data tersebut, sehingga
ukurannya relative kecil.

linked MMDB
b) EMBEDDED MULTIMEDIA DATABASE.
Elemen data multimedia disertakan dalam database,
sehinggaukurannya relative berat, namun retrival data akan lebih cepatkarna
waktu akses data lebih singkat.

embedded MMDB

Senin, 14 Desember 2015

Selasa, 08 Desember 2015

Data Mining

15.41 Posted by ROSYID'S BLOG No comments
Data Mining adalah Serangkaian proses untuk menggali nilai tambah berupa informasi yang selama ini tidak diketahui secara manual dari suatu basisdata dengan melakukan penggalian pola-pola dari data dengan tujuan untuk memanipulasi data menjadi informasi yang lebih berharga yang diperoleh dengan cara mengekstraksi dan mengenali pola yang penting atau menarik dari data yang terdapat dalam basisdata.

Inti dari data mining adalah kegiatan penggalian pengetahuan data.

Secara umum definisi data-mining dapat diartikan sebagai berikut
  • Proses penemuan pola yang menarik dari data yang tersimpan dalam jumlah besar.
  • Ekstraksi dari suatu informasi yang berguna atau menarik (non-trivial, implisit, sebefumnya belum diketahui potensial kegunaannya) pola atau pengetahuan dari data yang disimpan dalam jumfah besar.
  • Ekplorasi dari analisa secara otomatis atau semiotomatis terhadap data-data dalam jumlah besar untuk mencari pola dan aturan yang berarti.
 Konsep Data Mining
Alasan utama mengapa data mining sangat menarik perhatian industri informasi dalam beberapa tahun belakangan ini adalah karena tersedianya data dalam jumlah yang besar dan semakin besarnya kebutuhan untuk mengubah data tersebut menjadi informasi dan pengetahuan yang berguna karena sesuai fokus bidang ilmu ini yaitu melakukan kegiatan mengekstraksi atau menambang pengetahuan dari data yang berukuran/berjumlah besar, informasi inilah yang nantinya sangat berguna untuk pengembangan. berikut langkah-langkahnya :
  1. Pemilihan data (data selection), pemilihan data relevan yang didapat dari basis data.
  2. Pembersihkan data (data cleaning), proses menghilangkan noise dan data yang tidak konsisten atau data tidak relevan.
  3. Pengintegrasian data (data integration), penggabungan data dari berbagai basisdata ke dalam satu basisdata baru.
  4. Transformasi data, data diubah atau digabung ke dalam format yang sesuai untuk diproses dalam data mining.
  5. Data mining, suatu proses di mana metoda diterapkan untuk menemukan pengetahuan berharga dan tersembunyi dari data.
  6. Evaluasi pola (pattern evaluation), untuk mengidentifikasi pola-pola menarik untuk di representasikan kedalam knowledge based.
  7. Representasi pengetahuan (knowledge presentation), visualisasi dan penyajian pengetahuan mengenai teknik yang digunakan untuk memperoleh pengetahuan yangdiperoleh pengguna
Pengelompokkan Data Mining
Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan , yaitu
1. Deskripsi
Menggambarkan sekumpulan data secara ringkas. Data yang digambarkan berupa:
- Deskripsi grafis : diagram titik, histogram
- deskripsi lokasi : mean(rata-rata), median(nilai tengah), modus, kuartil, persentil
- Deskripsi keberagaman : range(rentang), varians dan standar deviasi

2. Estimasi
Memperkirakan suatu hal dari sejumlah sample yang kita miliki(yg tidak kita ketahui)
Estimasi hampir sama dengan klasifikasi, kecuali variable target. Estimasi lebih kearah numeric dari pada kearah kategori.

3. Prediksi
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada dimasa datang(memperkirakan hal yang belum terjadi). Kita bisa menunggu hingga hal itu terjadi untuk membuktikan seberapa tepat prediksi kita

4. Klasifikasi
kegiatan menggolongkan, dengan menggunakan data historis(sebagai data yang digunakan untuk latihan dan sebagai pengalaman).Dalam klasifikasi terdapat variabel prediktor dan target variable,

5. Pengklusteran
Pengkulusteran merupakan pengelompokan record, pengamatan atau memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan. Kluster adalah kumpulan record yang memiliki kemiripan satu dengan yang lainya dan memiliki ketidak miripan dengan record-record dalam cluster.

6. Asosiasi
Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang biasa.

Berdasarkan pengelompokkan data mining tersebut, masing masing memiliki kelompok fungsi antara lain:
+ Fungsi Minor (tambahan) : deskripsi, estimasi, prediksi
+ Fungsi Mayor (utama) : klasifikasi, pengelompokkan, estimasi


Kemudian pola seperti apa yang dapat ditambang ?

Kegunaan data mining adalah untuk menspesifikasikan pola yang harus ditemukan dalam tugas data mining. Secara umum tugas data mining dapat diklasifikasikan ke dalam dua kategori: deskriptif dan prediktif. Tugas menambang secara deskriptif adalah untuk mengklasifikasikan sifat umum suatu data di dalam database. Tugas data mining secara prediktif adalah untuk mengambil kesimpulan terhadap data terakhir untuk membuat prediksi.

Konsep/Class Description

Data dapat diasosiasikan dengan pembagian class atau konsep. Untuk contohnya, ditoko All Electronics, pembagian class untuk barang yang akan dijual termasuk komputer dan printer, dan konsep untuk konsumen adalah big Spenders dan budget Spender. Hal tersebut sangat berguna untuk menggambarkan pembagian class secara individual dan konsep secara ringkas, laporan ringkas, dan juga pengaturan harga. Deskripsi suatu class atau konsep seperti itu disebut class/concept descripition.

Association Analysis

Association analysis adalah penemuan association rules yang menunjukkan nilai kondisi suatu attribute yang terjadi bersama-sama secara terus-menerus dalam memmberikan set data. Association analysis secara luas dipakai untuk market basket atau analisa data transaksi.

Klasifikasi dan Predikasi

Klasifikasi dan prediksi mungkin perlu diproses oleh analisis relevan, yang berusaha untuk mengidentifikasi atribut-atribut yang tidak ditambahkan pada proses klasifikasi dan prediksi. Atribut-atribut ini kemudian dapat di keluarkan.

Cluster Analysis

Tidak seperti klasifikasi dan prediksi, yang menganalisis objek data dengan kelas yang terlabeli, clustering menganalisis objek data tanpa mencari keterangan pada label kelas yang diketahui. Pada umumnya, label kelas tidak ditampilkan di dalam latihan data simply, karena mereka tidak tahu bagaimana memulainya. Clustering dapat digunakan untuk menghasilkan label-label.

Outlier Analysis

§ Outlier dapat dideteksi menggunakan test yang bersifat statistik yang mengambil sebuah distribusi atau probabilitas model untuk data, atau menggunakan langkah-langkah jarak jauh di mana objek yang penting jauh dari cluster lainnya dianggap outlier.

§ Sebuah database mungkin mengandung objek data yang tidak mengikuti tingkah laku yang umum atau model dari data. data ini disebut outlier.

Evolution Analysis

Data analisa evolusi menggambarkan ketetapan model atau kecenderungan objek yang memiliki kebiasaan berubah setiap waktu. Meskipun ini mungkin termasuk karakteristik, diskriminasi, asosiasi, klasifikasi, atau clustering data berdasarkan waktu, kelebihan yang jelas seperti analisa termasuk analisa data time-series, urutan atau pencocockkan pola secara berkala, dan kesamaan berdasarkan analisa data.

Selasa, 15 September 2015

Tahapan Perancangan Database

22.08 Posted by ROSYID'S BLOG No comments
Pada tulisan ini akan dibahas tahap-tahap dalam perancangan database. Pada database yang digunakan oleh single user atau hanya beberapa user saja, perancangan database tidak sulit.
Tetapi jika ukuran database yang sedang atau besar perancangan database akan menjadi sangat kompleks. Oleh karena itu para pemakai mengharapkan penggunaan database yang sedemikian rupa sehingga sistem harus dapat memenuhi kebutuhan-kebutuhan seluruh user tersebut. Tentunya agar kebutuhan-kebutuhan tersebut dapat terlayani dengan baik maka harus dilakukan perancangan database yang baik pula, aktifitas-aktifitas apa saja yang dilakukan pada tahap tersebut.

Tujuan Perancangan Database

  • Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi – aplikasinya.
  • Memudahkan pengertian struktur informasi.
  • Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storeage space).

Proses Perancangan Database

Proses perancangan database terdiri dari 6 tahap:
  • Tahap 1, Pengumpulan data dan analisis
  • Tahap 2, Perancangan database secara konseptual
  • Tahap 3, Pemilihan DBMS
  • Tahap 4, Perancangan database secara logika (data model mapping)
  • Tahap 5, Perancangan database secara fisik
  • Tahap 6, Implementasi Sistem database
6 tahapan diatas tadi tidak harus diproses berurutan. Pada tahap ke 1 merupakan kumpulan informasi yang berhubungan dengan penggunaan database. Tahap 6 merupakan implementasi database-nya.
Tahap 1 dan 6 kadang-kadang bukan merupakan bagian dari perancangan database. Sedangkan yang merupakan inti dari proses perancangan database adalah pada tahap 2, 4, 5.
  • Tahap 1 – Pengumpulan data dan analisa

    Merupakan suatu tahap dimana kita melakukan proses indentifikasi dan analisa kebutuhan-kebutuhan data dan ini disebut pengumpulan data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem database, kita harus mengenal terlebih dahulu bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database, termasuk para user yang ada dan para useryang baru beserta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para user dan aplikasi-aplikasi inilah yang kemudian dikumpulkan dan dianalisa.

    Berikut ini adalah aktifitas-aktifitas pengumpulan data dan analisa:
  1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya
  2. Peninjauan dokumentasi yang ada
  3. Analisa lingkungan operasi dan pemrosesan data
  4. Daftar pertanyaan dan wawancara

  • Tahap 2, Perancangan database secara konseptual

    Pada tahap ini akan dihasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data modelseperti ER/EER modelselama tahap ini. Dalam conceptual schema, kita harus merinci aplikasi-aplikasi databaseyang diketahui dan transaksi-transaksi yang mungkin.Tahap perancangan databasesecara konseptual mempunyai 2 aktifitas pararel:

    1. Perancangan skema konseptual
      Menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari tahap 1 dan menghasilkan sebuah conceptual database schema pada DBMS-independent model data tingkat tinggi seperti EER (Enhanced Entity Relationship) model.Untuk menghasilkan skema tersebut dapat dihasilkan dengan penggabungan bermacam-macam kebutuhan user dan secara langsung membuat skema database atau dengan merancang skema-skema yang terpisah dari kebutuhan tiap-tiap user dan kemudian menggabungkan skema-skema tersebut. Model data yang digunakan pada perancangan skema konseptual adalah DBMS-independent dan langkah selanjutnya adalah memilih DBMS untuk melakukan rancangan tersebut.
    2. Perancangan transaksi
      Menguji aplikasi-aplikasi databasedimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini.Kegunaan tahap ini yang diproses secara paralel bersama tahapp perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi database yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi database suatu saat dimana database tersebut dilaksanakan.

  • Tahap 3, Pemilihan DBMS

    Pemilihan databaseditentukan oleh beberapa faktor diantaranya faktor teknik, ekonomi, dan politik organisasi.Contoh faktor teknik:

    Keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical, dan lain-lain), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dan lain-lain.Faktor-faktor ekonomi dan organisasi yang mempengaruhi satu sama lain dalam pemilihan DBMS :

    1. Struktur data
      Jika data yang disimpan dalam database mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.
    2. Personal yang telah terbiasa dengan suatu sistem
      Jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar.
    3. Tersedianya layanan penjual
      Keberadaan fasilitas pelayanan penjual sangat dibutuhkan untuk membantu memecahkan beberapa masalah sistem.

  • Tahap 4, Perancangan database secara logika (data model mapping)

    Tahap selanjutnya adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Tahap ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada tahap 2. Pada tahap ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada tahap 2 ke dalam model data dari model data dari DBMS yang dipilih pada tahap 3.Pemetaan tersebut dapat diproses dalam 2 tingkat:

    1. Pemetaan system-independent
      Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tersebut.
    2. Penyesuain skema ke DBMS yang spesifik
      Mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.Hasil dari tahap ini memakai perintah-perintah DDL (Data Definition Language) dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem database. Tetapi 10 dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai tahap perancangan databasesecara fisik telah lengkap.Tahap ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.

  • Tahap 5, Perancangan database secara fisik

    Perancangan database secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalur-jalur akses pada file-file databaseuntuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi.Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema(pada istilah 3 level arsitektur DBMS).Beberapa petunjuk dalam pemilihan perancangan databasesecara fisik :

    1. Response time
      Waktu yang telah berlalu dari suatu transaksi database yang diajukan untuk menjalankan suatu tanggapan. Pengaruh utama pada response time adalah di bawah pengawasan DBMS yaitu : waktu akses database untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi.
    2. Space utility
      Jumlah ruang penyimpanan yang digunakan oleh file-file database dan struktur-struktur jalur akses.
    3. Transaction throughput
      Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem database, dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file database.

  • Tahap 6, Implementasi Sistem database

    Setelah perancangan secara logika dan secara fisik lengkap, kita dapat melaksanakan sistem database. Perintah-perintah dalam DDL dan SDL(Storage Definition Language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema database dan file-file database (yang kosong). Sekarang databasetersebut dimuat (disatukan) dengan datanya.Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan ke database yang baru. Transaksi-transaksi database sekarang harus dilaksanakan oleh para programmmer aplikasi.Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program dengan perintah-perintah dari embedded DML yang telah ditulis dan diuji. Suatu saat transaksi-transaksi tersebut telah siap dan data telah dimasukkan ke dalam database, maka tahap perancangan dan implementasi telah selesai, dan kemudian tahap operasional dari sistem database dimulai.


  • Jumat, 24 April 2015

    How to Copy a SQL Server Table?

    14.47 Posted by ROSYID'S BLOG No comments
    In this tip, I will show you the various ways of copying a SQL Server table. The first method of copying is the simplest way to copy a table into another (new) table in the same SQL Server database. You have to keep in mind that this way of copying does not copy constraints and indexes. The following illustrates a code template and a sample usage:
    select * into <destination table> from <source table>

    Example

    Select * into employee_backup from employee 
    
    We can also select only a few columns into the destination table like below:
    select col1, col2, col3 into <destination table>
    from <source table>

    Example

    Select empId, empFirstName, empLastName, emgAge into employee_backup
    from employee
    Use this to copy only the structure of the source table.
    select * into <destination table> from <source table> where 1 = 2

    Example

    select * into employee_backup from employee where 1=2
    Use this to copy a table across two databases in the same SQL Server instance.
    select * into <destination database.dbo.destination table>
    from <source database.dbo.source table>

    Example

    select * into Mydatabase2.dbo.employee_backup
    from mydatabase1.dbo.employee 
    Any one of the following methods can be employed to copy a table into a destination database on a different SQL Server.
    1. Data Transformation Service (DTS) – SQL Server 2000
    2. SQL Server Integration Service (SSIS) – SQL Server 2005
    3. SQL Server “Export Data” task – SQL Server 2000/2005
    4. Create a linked Server of the destination SQL Server on the source SQL Server and then copy the table – SQL Server 2000/ 2005
    5. We can also use sp_generate_inserts to generate data insertion scripts and then run the insert scripts
    6. I almost forgot this ;) you can open the source table , select the row(s), copy (ctrl + C) the row(s), open the destination table and then paste (ctrl + V) the row(s)

    Minggu, 12 April 2015

    Introduction to MySQL foreign key

    14.48 Posted by ROSYID'S BLOG No comments

    Introduction to MySQL foreign key

    A foreign key is a field in a table that matches a field of another table. A foreign key places constraints on data in the related tables, which enables MySQL to maintain referential integrity.
    Let’s take a look at the following database diagram in the sample database.
    MySQL Foreign Key - Customers & Orders Tables
    We have two tables: customers and orders. Each customer has zero or more orders and each order belongs to only one customer. The relationship between customers table and orders table is one-to-many, and it is established by a foreign key in the orders table specified by the customerNumber field. The customerNumber field in the orders table relates to the customerNumber primary key field in customers table.
    The customers table is called parent table or referenced table, and the orders table is known as child table or referencing table.
    A foreign key has not only one column but also a set of columns. The columns in the child table often refer to the primary key columns in the parent table.
    A table may have more than one foreign key, and each foreign key in the child table can have a different parent table.
    A row in the child table must contain values that exist in the parent table e.g., each order record in the orders table must have a customerNumber that exists in the customers table. Multiple orders can refer to the same customer therefore this relationship is called one (customer) to many (orders), or one-to-many.
    Sometimes, the child and parent table is the same table. The foreign key refers back to the primary key of the table e.g., the following employees table :
    MySQL recursive foreign key
    The reportTo column is a foreign key that refers to the employeeNumber column which is the primary key of the employees table to reflect the reporting structure between employees i.e., each employee reports to anther employee and an employee can have zero or more direct reports.
    The reportTo foreign key is also known as recursive or self-referencing foreign key.
    Foreign keys enforce referential integrity that helps you maintain the consistency and integrity of the data automatically. For example, you cannot create an order for a non-existent customer.
    In addition, you can set up a cascade on delete action for the customerNumber foreign key so that when you delete a customer in the customers table, all the orders associated with the customer are also deleted. This saves you time and efforts of using multiple DELETE statements or a DELETE JOIN statement.
    The same as deletion, you can also define a cascade on update action for the customerNumber foreign key to perform cross-table update without using multiple UPDATE statements or an UPDATE JOIN statement.
    In MySQL, the InnoDB storage engine supports foreign keys so that you must create InnoDB tables in order to use foreign key constraints.

    MySQL create table foreign key

    MySQL create foreign key syntax

    The following syntax illustrates how to define a foreign key in a child table in CREATE TABLE statement.
    Let’s examine the syntax in greater detail:
    • The CONSTRAINT clause allows you to define constraint name for the foreign key constraint. If you omit it, MySQL will generate a name automatically.
    • The FOREIGN KEY clause specifies the columns in the child table that refer to primary key columns in the parent table. You can put a foreign key name after FOREIGN KEY clause or leave it to let MySQL to create a name for you. Notice that MySQL automatically creates an index with the foreign_key_name name.
    • The REFERENCES clause specifies the parent table and its columns to which the columns in the child table refer. The number of columns in child table and parent table specified in the FOREIGN KEY and REFERENCES must be the same.
    • The ON DELETE clause allows you to define what happens to the records in the child table when the records in the parent table are deleted. If you omit the ON DELETE clause and delete a record in the parent table that has records in the child table refer to, MySQL will reject the deletion. In addition, MySQL also provides you with actions so that you can have other options such as ON DELETE CASCADE that lets MySQL to delete records in the child table that refer to a record in the parent table when the record in the parent table is deleted. If you don’t want the related records in the child table to be deleted, you use the ON DELETE SET NULL action instead. MySQL will set the foreign key column values in the child table to NULL when the record in the parent table is deleted, with a condition that the foreign key column in the child table must accept NULL values. Notice that if you use ON DELETE NO ACTION or ON DELETE RESTRICT action, MySQL will reject the deletion.
    • The ON UPDATE clause enables you to specify what happens to the rows in the child table when rows in the parent table are updated. You can omit the ON UPDATE clause to let MySQL to reject any update to the rows in the child table when the rows in the parent table are updated. The ON UPDATE CASCADE action allows you to perform cross-table update, and the ON UPDATE SET NULL action resets the values in the rows in the child table to NULL values when the rows in the parent table are updated. The ON UPDATE NO ACTION or UPDATE RESTRICT actions reject any updates.

    MySQL create table foreign key example

    The following example creates a dbdemo database and two tables: categories and products. Each category has one or more products and each product belongs to only one category. The cat_id field in the products table is defined as a foreign key with UPDATE ON CASCADE and DELETE ON RESTRICT actions.

    MySQL add foreign key

    MySQL add foreign key syntax

    To add a foreign key to an existing table, you use the ALTER TABLE statement with the foreign key definition syntax above:

    MySQL add foreign key example

    Now, let’s add a new table named vendors and change the products table to include the vendor id field:
    To add a foreign key to the products table, you use the following statement:
    Now, the products table has two foreign keys, one refers to the categories table and another refers to the vendors table.

    MySQL drop foreign key

    You also use the ALTER TABLE statement to drop foreign key as the following statement:
    In the statement above:
    • First, you specify the table name from which you want to remove the foreign key.
    • Second, you put the constraint name after the DROP FOREIGN KEY clause.
    Notice that constraint_name is the name of the constraint specified when you created or added the foreign key to the table. If you omit it, MySQL generates a constraint name for you.
    To obtain the generated constraint name of a table, you use the SHOW CREATE TABLE statement as follows:
    For example, to see the foreign keys of the products table, you use the following statement:
    The following is the output of the statement:
    The products table has two foreign key constraints: products_ibfk_1 and products_ibfk_2.
    You can drop the foreign keys of the products table by using the following statement:

    MySQL disable foreign key checks

    Sometimes, it is very useful to disable foreign key checks e.g., when you load data into the tables that have foreign keys. If you don’t disable foreign key checks, you have to load data into a proper order i.e., you have to load data into parent tables first and then child tables, which can be tedious. However if you disable the foreign key checks, you can load data into any orders.
    Another example is that, unless you disable the foreign key checks, you cannot drop a table that is referenced by a foreign key constraint. When you drop a table, any constraints that you defined for the table are also removed.
    To disable foreign key checks, you use the following statement:
    And of course, you can enable it by using the statement below:
    In this tutorial, we have covered a lot about MySQL foreign key. We also introduced you to some very handy statements that allow you to manage foreign keys effectively in MySQL.




    SOURCE : http://www.mysqltutorial.org/mysql-foreign-key/

    Rabu, 11 Maret 2015

    Export dan Import Database MYSQL

    15.15 Posted by ROSYID'S BLOG No comments
    Ketika ingin memindahkan database ke komputer lain, ada beberapa cara yang bisa digunakan. misalnya menggunakan PHPMyAdmin dan juga melalui command prompt langsung,. pada artikel kali ini saya ingin share mengenani cara memindahkan database melalui command prompt.
    Sebelum memulainya ada baiknya kita melakukan persiapan terlebih dahulu :
    1. Seting directory path pada environment windows agar bisa buka mysql melalui CMD.
    2. Sudah terinstal MYSQL database server.

    Jika persiapan diatas sudah selesai, selanjutnya buka command prompt lalu input syntax mysql -u root -p
    jika berhasil maka akan muncul tampilan seperti dibawah ini



    selanjutnya kita lihat database yang tersedia, dengan memasukan syntax show databases ;

    Dari tampilan database diatas, saya ingin export database dbgaji. sebelumnya kita keluar dulu dari evironment mysql. syntaxnya tulis exit
    kemudian ketikan perintah sebagai berikut : mysqldump -u root -p -h localhost dbgaji > "D:\coba.sql"
    jika tidak ada error, maka export database berhasil.

    Jika kita ingin import tinggal create database sesuai nama database yg di export tadi (dbgaji) kemudian ketikan perintah : mysql -u root -p -h localhost dbgaji < "D:\coba.sql"


    Oke. sekian dari saya, mohon maaf jika tulisan yang tertera bahasanya kurang jelas.