All about databases and database systems/Semua tentang basis data dan sistem basis data
1. Differences Between Databases and Database Systems
1.1 Database
The database consists of 2 (two) words, namely the word Base and Data. Base can be interpreted as a base or warehouse, a gathering place. while data is a collection of real-world facts that represent an object, such as humans, goods, etc. that are recorded in the form of numbers, letters, symbols, text, sounds, images or combinations. so the definition of a database is an organized collection of interconnected data in such a way that it can be easily stored, manipulated, and called upon by its users.

Database definition can also be interpreted as a collection of data consisting of one or more tables integrated with each other, where each user is authorized to be able to access (such as changing, deleting, etc.) data in these tables.
In making our database we must definitely know in advance how to make it, use what software to make it, and use what language to make it.
a. Stages of making a database
1. Database planning
2define system
3. Analyze and collect needs
4. Database design
5. Designing applications
6. Make a prototype
7. Implementation
8. Data conversion
9. Testing
10.operational maintenance
b. Software in database creation
1. Microsoft SQL Server
2.Oracle
3. Sybase
4. Interbase
5. XBase
6. Wirebird
7. MySQL
8. PostgreSQL
9. Microsoft Access
c. Language in creating database
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
The purpose of the database itself is as follows:
ø Speed and ease in storing, manipulating or also displaying the data.
Ø The efficiency of storage space, because with the database, data redundancy will be avoided.
Ø Accuracy of data.
Ø Data Availability.
Ø Completeness (Completeness) data, Can make changes to the structure in the database, both in the addition of new objects (tables) or by adding new fields in the table.
ø Security (Security) data, can determine the user who can use the database along with the objects that are in it and determine what types of operations can be done.
Ø User Togetherness (Sharability), Users of the database can be more than one person, but still maintain or avoid new problems such as: data inconsistencies (because the same data is changed by many users at the same time) and also deadlock conditions (because there are many users thatwaiting for each other to use the data.1.2 Database System
database system is a system consisting of a collection of data or a collection of interconnected data and programs to access the data.
There are several reasons why we have to use a database, among others:
ø Database systems have become part of an organization's information system
Ø The need to store large amounts of data is increasingly urgent
Ø Functions in organizations are increasingly computerized
ø The more complex data & applications used, the relationship between data must be modulated
In the database system also has Main Components, including:
Ø Hardware (Hardware)
Ø Operating System (Operating System)
Ø Database (Database)
Ø System Manager Database (Database Management System or abbreviated as DBMS) is a physical database manager is not done directly by the user, but handled by a special software. This software is called a DBMS (Database Management System) that will determine how data is organized, stored, modified and retrieved. This software also implements a data security mechanism, shared data usage, data consistency and so on. for example the DBMS software is MySQL, Ms. SQL Server, Interbase, Paradox, Ms. Access, Oracle, DB2
Ø User: Programmer, Application User
Ø Other applications or software.
Usability or Function of Database Systems, overcome data processing problems that are often encountered using conventional methods, problems that are overcome include:
Ø Data redundancy and also data inconsistencies.
Ø Hardness in accessing data.
Ø Data Isolation.
Ø Concurrency access.
Ø Security issues.
Ø Integrity Issues.
There are several users of database systems, including:
Ø Application Programmers, namely people or users who interact with the database through Data Manipulation Language (DML),
Ø User Mahir (Casual User) is a user who interacts with the system without writing a program module. They state queries to access data with the query language provided by a DBMS.
ø General Users (End User / Naïve User), namely Users who interact with the database system through calling a permanent application program (executable program) that has been provided previously.
ø Special Users (Specialized Users), namely Users who write non-conventional database applications, but for special needs.
2. Data Integrity
2.1 understanding of Data Integrity
Data integrity is the accuracy and correctness of data. Data integrity in a database system must be maintained to maintain the correctness of stored data. Data integrity is also very closely related to data security. There are several ways and objectives in maintaining data integrity, including:
Ø Enter business rules in the database
Ø Keeping invalid data from entering the database
Ø Maintaining data consistency in the relationship between tables
2.2 kinds of data integrity
a. Entity Integrity
Entity Integrity defines a line as an entity that is unique to a table. Entity integrity forces the integrity of the column or primary key of a table (through index, unique, constrain, primary key). The primary key cannot be null.
Example:

b. Domain Integrity
Domain Integrity is the validity of input for a column. .You can force the integrity domain by limiting the type (through data types), formatting (through check constraints and rules), or the range of possible values (through Foreign Key constraints, Check Constraints, Default Definitions and rules).
Example:

c. Referential integrity
Referential integrity is the basis of relationships between tables namely between foreign keys and primary keys. Referential integrity ensures that all values of the foreign key match the primary key value that is connected.
Example:

d. Enterprise integrity
Enterprise integrity allows us to specify our own business rules that are not the same in other integrity categories.
3. Transactions
3.1 Definition of Transactions
Transactions in the database are one atomic operation in the form of logical work or logical recovery (recovery) which can consist of several instructions. the purpose of the transaction is to maintain the database from data loss and damage, such as system crashes and access to the same data simultaneously by two different applications that cause interference.
There are four elements in the transaction that are usually abbreviated as ACID, namely:
Ø Atomic, all transactions are successful or all transactions fail
Ø Consistency, transactions maintain database consistency
Ø Isolation, transactions are isolated from one another
Ø Durability, after the commit or transaction is successful the data must be updated and must be survive in the database
3.2 Important terms in the transaction
a. Commit
Give a sign that the transaction is complete. updates are made permanent (even if after a system failure occurs).
b. Rollback
Signs that the transaction failed. All updates must be undoed.
Database system recovery is carried out during a media failure (corrupt hard drive), system failure (power failure), or transaction error. Recovery system uses rollback and checkpoint functions.
c. Checkpoint
Checkpoint is a certain interval on a database transaction trip that stores the current database state. Checkpoint can be done to recover the database backward (undo) or forward (redo).

4. Concurency
4.1 Definition of Concurency
Concurrency is a mechanism in a database system that allows many transactions at the same time to access the same data without interference.
DBMS allows many transactions at the same time to access the same data.
Concurrency Control Mechanism (CCM) is needed so that transactions do not "wait" with each other.
There are 3 problems in concurrency, including:
1. Lost update problem
when two users update the same two data

2uncommitted dependency problem
when a user retrieves data and another user rolls back the data

3. Incosistent analysis problem
when one user retrieves data and another user updates the data

4.2 Locking
If a transaction wants the record / resource not to change in a certain time then he asks for a lock. When one transaction accesses the database, a key (lock) can ignore access for other transactions, to avoid wrong results.
a. Types of lock
1exclusive lock (Xlock) or write lock that is locking which can only be used to update and read transactions
2. Share lock (Slock) or read lock which is locking which can only be used to read transactions.
Case example of locking:
Ø If transaction A holds Xlock on a record, then the lock (X, S) request on the same record must be ignored or rejected.
Ø If transaction A holds Slock on record R then:
· Another transaction Xlock request on R is rejected
· Slock requests for other transactions on R are accepted
b. Data access protocol
Ø Transactions that want to retrieve the value of a record (retrieve) must get a Slock on the record
Ø Transactions that want to update must get Xlock
Sample case:
ø If lock from transaction B is rejected due to a conflict with the lock owned by transaction A, transaction B enters the wait state until the lock owned by A is released.
Ø Xlock and Slock are held until the transaction is complete (COMMIT or ROLLBACK).
c. Dead lock
deadlock is a condition where two or more transactions are in a state of waiting or waiting for each lock to be released.

Ways to handle deadlocks:
Ø Detect and solve deadlocks
Ø Detect deadlock à wait-for-graph
Ø Break deadlock à one in a forced rollback
Ø Ostrich Algorithm is ignored
5. XML
5.1 Definition of XML
XML (eXtensible Markup Language) is a derivative web language from SGML (Standard Generalized Markup Language) that existed before. xml is almost the same as HTML, where both are derived from SGML. Xml is shown to exchange documents via the web, in the form of a text file - Cross platform, independent of software and hardware.
5.2 Advantages and disadvantages of Xml
The advantages of Xml include:
Ø Self Documenting à by looking at the tag, you can find out the contents of the document
Ø Can read soft ware and humans
Ø Flexible
Ø Can be developed without breaking the old format
· Example: on <author>, add <telephone> tag, then old XML can still be read.
Ø Can adapt to make your own language. Like Microsoft makes the MSXML Language, or Macromedia develops MXML.
XML capabilities include:
Ø Repeated tag à is inefficient, size swells
5.3 XML Examples
Simple XML example

We can check whether the Xml code we created is correct or not, by right-clicking, open with file with Office XML Handler.

If our code is correct, it will definitely look like this later.

5.4 XML Parts
1. DTD
A DTD (Document Type Definition) is a collection of markup declarations that define document types for families of SGML markup languages (SGML, XML, HTML, etc.). a DTD uses a short official syntax that states exactly which elements and references can appear in documents of a certain type and the content and element attributes are also DTDs, can declare entities that can be used in documents.
Ø The DTD aims to define a valid block from an XML document and so that each XML document has a description that matches the format
Ø The DTD contains rules that are used to validate an XML document
Ø DTDs can be written together with XML (internal) documents or separate into their own DTD files (external)
DTD Example:

2. XML document
XML documents can be used for various purposes, such as:
Ø As a data storage (database) that is easy to read by the user because it is stored in text form.
Ø Standard data transfer, can be used for sending transaction data between companies.
Ø As a reference for creating new Languages, such as WML (wireless Markup Language) that is used on mobile devices with the WAP protocol.
ø As a configuration file, XML documents are often encountered such as server.xml and web.xml files used by Tomcat, or query commands stored in XML files used on the iBatis or Hibernate framework.
A simple XML document example:

XML and DTD results after compiling:

6. Back End Programing
6.1 Definition of Back End programing
Back-End programming is a program that runs on a database automatically when a certain trigger occurs. in Oracle there are several methods for back-end programming, namely by triggering and stored procedures.
6.2 Trigger
Triggers are PL / SQL blocks or procedures related to tables, views, schemes or databases that are executed implicitly when an event occurs. Trigger is a store procedure that is run automatically when the user modifies the data in the table. Data modification is done in the table, that is, in the form of INSERT, UPDATE and DELETE commands. INSERT, UPDATE, and DELETE can be combined into a trigger called Multiple Trigger.
a. Types of Triggers
Triggers can be divided into 2 types, namely:
1application Trigger
Triggers that are active when an event occurs in a particular application.
2. Trigger Database
Triggers that will be active when a DML operation (insert, update, delete) occurs in the table.
b. Benefits of trigger
By using Trigger data integrity and data consistency can be maintained and can also prevent the occurrence of invalid transactions. besides, standardization of the process can also be achieved because Triggers are made once and stored in the database, so that every operation performed by anyone on the system will use the same trigger.
c. Limit trigger
Triggers have certain limitations such as:
1. Triggers cannot process commit and rollback commands, otherwise they cannot call procedures, functions or packages that use the command.
2trigger cannot be used in columns in a table with constraints in it.
d. Trigger basic structure
To trigger a Oracle CREATE TRIGGER statement, which can then be used for certain events. in general there are 2 times for a Trigger to be activated, namely:
1. BEFORE
Time where a Trigger will be active before the occurrence of a DML process on a table. can be divided into:
a. Before Insert: Trigger will be active before the insert event on a table.
b. Before Update: The trigger will be active before the update event on a table.
c. Before Delete: Trigger will be active before the delete event on a table.
2. AFTER
The time when a Trigger will be active after the DML process on a table is done. Can be divided into:
a. Before Insert: Trigger will be active after the insert event on a table.
b. Before Update: Triggers will be active after an update event on a table.
c. Before Delete: Trigger will be active after the delete event on a table.
e. example of Trigger

6.3 Stored ProcedurePL / SQL (Procedural Language / Structured Query Language) is a structured programming language in SQL arranged in logical blocks, which can execute commands to solve problems (in Oracle called PL / SQL). briefly, PL / SQL adds structured programming techniques to SQL. PL / SQL is used in back end programming built by SQL and procedural languages. The types of PL / SQL include anonymous blocks, stored program units (procedures, functions, packages), and triggers.
a. PL / SQL properties (program code)
1. Similar to the Pascal programming language
2. Case insensitive (small characters don't affect)
3. Strong typed, all variables must be declared
b. general PL / SQL strictures
v Section declaration
Starting with the DECLARE command, it functions to declare the variables needed in PL / SQL. If you don't need a variable, then this part of the declaration can be removed.
v Execution section
Section that contains PL / SQL syntax. starting with Begin's command. Syntax can be in the form of selection (IF-THEN), looping (for, loop, while), taking the value of select, cursor, and so on.
v Exception section
The section that contains how to handle errors or error handling at PL / SQL execution time. the exception section can also be removed if there is no need to handle errors in PL / SQL.
c. Example of Stored Procedure

Reference:
· Http://www.pengertianku.net/2014/06/ understanding- base-data-and-system-basis.html
· Https://id.wikipedia.org/wiki/Basis_data
· Https://biblenizzle.wordpress.com/2013/10/08/integritas-data-dalam-basis-data/
· Http://justizzah.blogspot.co.id/2013/05/sistem-basis-data-integritas-data.html
· Http://udimo.blogspot.co.id/2013/05/integritas-data-dan-transaksi.html
· Https://simbuda.wordpress.com/2013/05/19/integritas-data-dan-transaksi-concurrency/
· Http://squirrel-mail.blogspot.co.id/2015/11/transaksi-dan-concurrency.html
· Http://wawan-interisti.blogspot.co.id/2015/11/transaksi-dan-concurrency.html
· Http://porsot.org/2014/09/pengertian-dan-kegunaan-xml-extensible-markup-language/
· Http://yerlangga.blogspot.co.id/2012/04/pengertian-dan-contoh-program-xml.html
· Http://dwibudi.com/xml/pengertian-dan-contoh-dtd
· Https://id.wikipedia.org/wiki/XML
· Http://agenilmu.blogspot.co.id/2009/04/pengertian-singkat-xml.html
· Http://www.w3schools.com/xml
· Dictate of the Database System by Budi Laksono Putro, M.T
· Integrity of .ppt data by Yudi Wibisono, MT.
· Concurrency.ppt by Yudi Wibisono, MT.
· Transaction.ppt by Yudi Wibisono, MT.
· XML.ppt by Yudi Wibisono, MT.
· Http://www.haritsthinkso.com/2010/01/pengertian-trigger-pada-sql.html
· 2014 Database System Practicum Module.
· Hand Out Database System: Stored Procedure and Trigger by Yudi Wibisono, MT
· 2013 Trigger Practicum Module
1. Perbedaan Antara Basis Data dan Sistem Basis Data
1.1 Basis Data
Basis data terdiri dari 2 (dua) kata, yaitu kata Basis dan Data. Basis bisa di artikan sebagai markas ataupun gudang, tempat berkumpul. Sedangkan data yaitu kumpulan fakta dunia nyata yang mewakili suatu objek, seperti manusia, barang, dan lain-lain yang direkam ke dalam bentuk angka, bentuk huruf, simbol, teks, bunyi, gambar atau juga kombinasinya. Jadi pengertian basis data adalah kumpulan terorganisasi dari data-data yang saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya.
Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses (seperti mengubah,menghapus dll.) data dalam tabel-tabel tersebut.
Dalam pembuatan basisdata kita pastinya harus tahu terlebih dahulu gimana sih cara-cara membuatnya, memakai software apa membuatnya, dan memakai Bahasa apa membuatnya.
Kegunaan atau Fungsi Sistem Basis Data, mengatasi masalah-masalah pemrosesan data yang sering ditemui dengan menggunakan metode konvensional, permasalah yang diatasi diantaranya:
2.Dokumen XML
Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti :
Ø Sebagai penyimpanan data(database) yang mudah dibaca oleh user karena disimpan dalam bentuk teks.
Ø Standard transfer data, dapat digunakan untuk pengiriman data transaksi antar perusahaan.
Ø Sebagai acuan membuat Bahasa baru, seperti WML(wireless Markup Language) yang digunakan pada mobile device dengan protocol WAP.
Ø Sebagai file konfigurasi, dijava dokumen-dokumen XML sering kita jumpai seperti file server.xml dan web.xml yang digunakan Tomcat, atau perintah-perintah query yang disimpan dalam file XML yang dipakai pada framework iBatis atau Hibernate.
Contoh dokumen XML sederhana :
Dalam pembuatan basisdata kita pastinya harus tahu terlebih dahulu gimana sih cara-cara membuatnya, memakai software apa membuatnya, dan memakai Bahasa apa membuatnya.
a. Tahapan-tahapan pembuatan basis data
1. Perencanaan basis data
2. Mendefinisikan sistem
3. Analisa dan mengumpulkan kebutuhan
4. Perancangan basis data
5. Perancangan aplikasi
6. Membuat prototipe
7. Implementasi
8. Konversi data
9. Pengujian
10. Pemeliharaan operasional
b. Perangkat lunak dalam pembuatan basisdata
1.Microsoft SQL Server
2.Oracle
3.Sybase
4.Interbase
5.XBase
6.Firebird
7.MySQL
8.PostgreSQL
9.Microsoft Access
c. Bahasa dalam pembuatan basis data
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
Tujuan Basis data sendiri adalah sebagai berikut ini:
Ø Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
Ø Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
Ø Keakuratan (Accuracy) data.
Ø Ketersediaan (Availability) data.
Ø Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
Ø Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
Ø Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
Tujuan Basis data sendiri adalah sebagai berikut ini:
Ø Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
Ø Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
Ø Keakuratan (Accuracy) data.
Ø Ketersediaan (Availability) data.
Ø Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
Ø Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
Ø Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
1.2 Sistem Basis Data
sistem basis data adalah sistem yang terdiri dari koleksi data atau kumpulan data yang saling berhubungan dan program-program untuk mengakses data tersebut.
Ada beberapa alasan kenapa kita harus memakai basis data, antaralain:
Ø Sistem basis data telah menjadi bagian dalam sistem informasi suatau organisasi
Ø Kebutuhan menyimpan data dalam jumlah besar semakin mendesak
Ø Fungsi dalam organisasi semakin dikomputerisasikan
Ø Semakin kompleks data & aplikasi yang digunakan, maka relasi antar data harus dimodelisasikan
Didalam sistem basis data juga memiliki Komponen-komponen Utama, antaralain :
Ø Perangkat Keras (Hardware)
Ø Sistem Operasi (Operating Sistem)
Ø Basis data (Database)
Ø Sistem Pengelola Basis Data (Database Management Sistem atau disingkat DBMS) adalah pengelola basis data secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya. Contohnya software DBMS adalah MySQL, Ms. SQL Server, Interbase, Paradox, Ms. Access, Oracle, DB2
Ø Pemakai : Programmer, User aplikasi
Ø Aplikasi atau Perangkat Lunak yang lainnya.
Ada beberapa alasan kenapa kita harus memakai basis data, antaralain:
Ø Sistem basis data telah menjadi bagian dalam sistem informasi suatau organisasi
Ø Kebutuhan menyimpan data dalam jumlah besar semakin mendesak
Ø Fungsi dalam organisasi semakin dikomputerisasikan
Ø Semakin kompleks data & aplikasi yang digunakan, maka relasi antar data harus dimodelisasikan
Didalam sistem basis data juga memiliki Komponen-komponen Utama, antaralain :
Ø Perangkat Keras (Hardware)
Ø Sistem Operasi (Operating Sistem)
Ø Basis data (Database)
Ø Sistem Pengelola Basis Data (Database Management Sistem atau disingkat DBMS) adalah pengelola basis data secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya. Contohnya software DBMS adalah MySQL, Ms. SQL Server, Interbase, Paradox, Ms. Access, Oracle, DB2
Ø Pemakai : Programmer, User aplikasi
Ø Aplikasi atau Perangkat Lunak yang lainnya.
Kegunaan atau Fungsi Sistem Basis Data, mengatasi masalah-masalah pemrosesan data yang sering ditemui dengan menggunakan metode konvensional, permasalah yang diatasi diantaranya:
Ø Redudansi data dan juga inkonsistensi data.
Ø Kesuliatan dalam pengaksesan data.
Ø Data Isolation.
Ø Konkurensi pengaksesan.
Ø Masalah keamanan.
Ø Masalah Integritas.
Ada beberapa pemakai sistem basis data, antaralain:
Ø Programmer Aplikasi yaitu orang atau pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML),
Ø User Mahir (Casual User) yaitu pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa query yang telah disediakan oleh suatu DBMS.
Ø User Umum (End User/ Naïve User) yaitu Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
Ø User Khusus (Specialized User) yaitu Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.
Ada beberapa pemakai sistem basis data, antaralain:
Ø Programmer Aplikasi yaitu orang atau pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML),
Ø User Mahir (Casual User) yaitu pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa query yang telah disediakan oleh suatu DBMS.
Ø User Umum (End User/ Naïve User) yaitu Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
Ø User Khusus (Specialized User) yaitu Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.
2. Integritas Data
2.1 pengertian Integritas Data
Integritas data adalah akurasi dan kebenaran data. Integritas data dalam sebuah sistem basis data harus dijaga untuk menjaga kebenaran data yang disimpan. Integritas data juga sangat erat kaitannya dengan keamanan keberadaan data. Ada beberapa cara dan tujuan dalam menjaga integritas data, diantaranya :
Ø Memasukkan aturan bisnis di dalam database
Ø Menjaga agar data yang tidak valid tidak masuk ke database
Ø Menjaga konsistensi data pada relasi keterkaitan antar table
2.2 macam-macam integritas data
a. Integritas Entitas
Integritas Entitas mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu table. Integritas entitas memaksa integritas dari kolom atau primary key dari suatu table ( melalui index, unique, constrain, primary key). Primary key tidak boleh null.
Contohnya:
b. Integritas Domain
Integritas Domain merupakan validitas dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format ( melalui check constraints dan rules ), atau range nilai-nilai yang mungkin (melalui Foreign Key constraints, Check Constraints, Default Definitions dan rules).
Contohnya:
c. Integritas Referential
c. Integritas Referential
Integritas Referential adalah dasar relasi antar table yaitu antara foreign key dengan primary key. Integritas referensial memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkan.
d. Integritas Enterprise
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.
3. Transaksi
3.1 Pengertian Transaksi
Transaksi pada basis data adalah satu atomic operasi berupa lojik pekerjaan maupun lojik recovery (pemulihan) yang bisa terdiri dari beberapa intruksi. Tujuan dari transaksi adalah menjaga database dari kehilangan data dan kerusakan, seperti system crash dan pengaksesan data yang sama secara bersamaan oleh dua aplikasi yang berbeda yang menimbulkan gangguan.
Ada empat elemen dalam transaksi yang biasa disingkat ACID, yaitu :
Ø Atomic, semua transaksi berhasil atau semua transaksi gagal
Ø Consistency, transaksi mempertahankan konsistensi database
Ø Isolation, transaksi terisolasi satu dengan yang lain
Ø Durability, setelah commit atau transaksi berhasil data harus di update dan harus di survive di database
3.2 Istilah-istilah penting dalam transaksi
a. Commit
Memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system).
b. Rollback
Memberi tanda bahwa transaksi gagal. Semua update harus di-undo.
System recovery database dilakukan pada saat terjadi kegagalan media(hardisk corrupt), kegagalan system(listrik mati), atau kesalahan pada transaksi. Sistem recovery menggunakan fungsi rollback dan checkpoint.
c. Checkpoint
Checkpoint adalah interval tertentu pada perjalanan transaksi basis data yang menyimpan keadaan basis data saat itu. Checkpoint dapat dilakukan untuk merecovery database secara backward (undo) ataupun forward (redo).
4. Concurency
4.1 Pengertian Concurency
Concurrency adalah sebuah mekanisme pada system basis data yang mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya gangguan.
DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama.
Concurrency Control Mechanism (CCM) dibutuhkan agar transaksi tidak saling “menunggu”.
Adapun masalah-masalah dalam concurrency ada 3, antaralain:
1. Lost update problem
2. Uncommitted dependency problem
ketika user yang satu me-retrieve data dan user yang lain me-rollback data tersebut
ketika user yang satu meretrieve data dan user yang lain mengupdate data tersebut
Jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock. Ketika satu transaksi mengakses database, sebuah kunci(lock) dapat mengabaikan akses untuk transaksi lainnya, untuk menghindari hasil yang salah.
a. Jenis-jenis lock
1. Exclusive lock (Xlock) atau write lock yaitu locking yang hanya bisa digunakan untuk mengupdate dan membaca transsaksi
2. Share lock (Slock) atau read lock yaitu locking yang hanya bisa digunakan untuk membaca transaksi.
Contoh kasus dari locking:
Ø Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan atau di tolak.
Ø Jika transaksi A memegang Slock pada record R maka:
· Permintaan Xlock transaksi lain pada R ditolak
· Permintaan Slock transaksi lain pada R diterima
b. Data access protocol
Ø Transaksi yang ingin mengambil nilai sebuah record (retrieve) harus mendapatkan Slock pada record tersebut
Ø Transaksi yang ingin mengupdate harus mendapat Xlock
Contoh kasus:
Ø Jika lock dari transaksi B ditolak karena konflik dengan lock yang dimiliki transaksi A, transaksi B masuk ke wait state sampai lock milik A dibebaskan.
Ø Xlock dan Slock dipegang sampai transaksi selesai (COMMIT atau ROLLBACK).
c. Dead lock
b. Data access protocol
Ø Transaksi yang ingin mengambil nilai sebuah record (retrieve) harus mendapatkan Slock pada record tersebut
Ø Transaksi yang ingin mengupdate harus mendapat Xlock
Contoh kasus:
Ø Jika lock dari transaksi B ditolak karena konflik dengan lock yang dimiliki transaksi A, transaksi B masuk ke wait state sampai lock milik A dibebaskan.
Ø Xlock dan Slock dipegang sampai transaksi selesai (COMMIT atau ROLLBACK).
c. Dead lock
Deadlock adalah suatu kondisi dimana dua atau lebih transaksi dalam keadaan wait-state atau saling menunggu lock untuk dilepas.
Cara-cara penanganan deadlock :
Ø Deteksi dan pecahkan deadlock
Ø Deteksi deadlock à wait-for-graph
Ø Pecahkan deadlock à salah satu di rollback paksa
Ø Ostrich Algorithm à diabaikan
5. XML
5.1 Pengertian XML
XML (eXtensible Markup Language) merupakan Bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. Xml hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Xml ditunjukan untuk pertukaran dokumen via web, berbentuk file teks à Cross platform, indepedenden terhadap software dan hardware.
5.2 Keunggulan dan kelemahan Xml
Keunggulan Xml antaralain:
Ø Self Documenting à dengan melihat tag, dapat diketahui isi dokumen
Ø Dapat dibaca soft ware dan manusia
Ø Fleksibel
Ø Dapat dikembangkan tanpa melanggar format lama
· Contoh: pada <pengarang>, tambah tag <telepon>, maka XML yang lama tetap dapat dibaca.
Ø Dapat beradaptasi untuk membuat Bahasa sendiri. Seperti Microsoft membuat Bahasa MSXML, atau Macromedia mengembangkan MXML.
Kelemhan XML antaralain:
Ø Pengulangan tag à tidak efisien, ukuran membengkak
5.3 Contoh-contoh XML
Contoh XML sederhana
Kita bisa mengecek apakah kodingan Xml yang kita buat itu sudah benar atau belum, dengan cara klik kanan,open with file dengan Office XML Handler.
Jika kodingan kita sudah benar pasti nanti akan tampil seperti ini.
5.4 Bagian-bagian XML
1.DTD
DTD (Document Type Definition) adalah kumpulan deklarasi markup yang mendefinisikan tipe dokumen untuk keluarga bahasa markup SGML(SGML, XML, HTML, dll). Sebuah DTD menggunakan sintaks resmi pendek yang menyatakan secara tepat elemen dan referensi dapat muncul dalam dokumen dari tipe tertentu dan isi serta atribut elemen adalah sebuah DTD juga, dapat mendeklarasikan entitas yang dapat digunakan dalam dokumen.
Ø DTD bertujuan untuk mendefinisikan sebuah blok yang valid dari sebuah dokumen XML dan agar setiap dokumen XML memiliki deskripsi yang sesuai dengan formatnya
Ø DTD berisi aturan-aturan yang digunakan untuk memvalidasi sebuah dokumen XML
Ø DTD dapat ditulis bersama dengan dokumen XML(internal) ataupun terpisah menjadi file DTD sendiri(eksternal)
Contoh DTD:
2.Dokumen XML
Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti :
Ø Sebagai penyimpanan data(database) yang mudah dibaca oleh user karena disimpan dalam bentuk teks.
Ø Standard transfer data, dapat digunakan untuk pengiriman data transaksi antar perusahaan.
Ø Sebagai acuan membuat Bahasa baru, seperti WML(wireless Markup Language) yang digunakan pada mobile device dengan protocol WAP.
Ø Sebagai file konfigurasi, dijava dokumen-dokumen XML sering kita jumpai seperti file server.xml dan web.xml yang digunakan Tomcat, atau perintah-perintah query yang disimpan dalam file XML yang dipakai pada framework iBatis atau Hibernate.
Contoh dokumen XML sederhana :
6. Back End Programing
6.1 Pengertian Back End programing
6.1 Pengertian Back End programing
Back-End programming adalah program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back-end programming, yaitu dengan trigger dan stored procedure.
6.2 Trigger
Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan table, view, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah event. Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada table. Modifikasi data yang dilakukan pada table yaitu, berupa perintah INSERT,UPDATE dan DELETE. INSERT, UPDATE, dan DELETE bisa digabung jadi satu trigger yang dinamakan Multiple Trigger.
a. Jenis-jenis Trigger
a. Jenis-jenis Trigger
Trigger dapat dibagi menjadi 2 jenis, yaitu :
1. Application Trigger
Trigger yang aktif ketika terjadi suatu kejadian pada sebuah aplikasi tertentu.
2. Database Trigger
Trigger yang akan aktif ketika terjadi suatu operasi DML(insert, update, delete) pada tabel.
b. Manfaat trigger
Dengan menggunakan Trigger integritas data serta konsistensi data dapat terjaga dan juga dapat mencegah terjadinya transaksi yang tidak valid. Selain itu standarisasi (penyeragaman) terhadap proses juga dapat tercapai karena Trigger dibuat satu kali dan tersimpan didalam database, sehingga setiap operasi yang dilakukan oleh siapapun terhadap sistem tersebut akan menggunakan trigger yang sama.
c. Batasan trigger
Trigger memiliki batasan-batasan tertentu seperti :
1. Trigger tidak dapat memproses perintah commit dan rollback, selain itu juga tidak dapat memanggil prosedur, fungsi ataupun package yang menggunakan perintah tersebut.
2. Trigger tidak dapat digunakan pada kolom dalam suatu tabel yang terdapat constrain didalamnya.
d. Struktur dasar trigger
Untuk membuat trigger pada Oracle telah disediakan statement CREATE TRIGGER yang selanjutnya dapat digunakan untuk kejadian tertentu. Secara umum terdapat 2 waktu agar sebuah Trigger dapat teraktivasi, yaitu:
1. BEFORE
Waktu dimana sebuah Trigger akan aktif sebelum terjadinya suatu proses DML pada suatu tabel . dapat dibagi menjadi :
a. Before Insert : Trigger akan aktif sebelum kejadian insert pada suatu tabel.
b. Before Update : Trigger akan aktif sebelum kejadian update pada suatu tabel.
c. Before Delete : Trigger akan aktif sebelum kejadian delete pada suatu tabel.
2. AFTER
Waktu dimana sebuah Trigger akan aktif sesudah proses DML pada suatu tabel dilakukan. Dapat dibagi menjadi :
a. Before Insert : Trigger akan aktif sesudah kejadian insert pada suatu tabel.
b. Before Update : Trigger akan aktif sesudah kejadian update pada suatu tabel.
c. Before Delete : Trigger akan aktif sesudah kejadian delete pada suatu tabel.
Waktu dimana sebuah Trigger akan aktif sesudah proses DML pada suatu tabel dilakukan. Dapat dibagi menjadi :
a. Before Insert : Trigger akan aktif sesudah kejadian insert pada suatu tabel.
b. Before Update : Trigger akan aktif sesudah kejadian update pada suatu tabel.
c. Before Delete : Trigger akan aktif sesudah kejadian delete pada suatu tabel.
e. Contoh Trigger
6.3 Stored Procedure
PL/SQL (Procedural Language/Structured Query Language) merupakan bahasa pemrograman terstruktur di dalam SQL yang tersusun dalam blok-blok logical, yang dapat menjalankan perintah-perintah untuk menyelesaikan masalah (di Oracle disebut PL/SQL). Secara singkat, PL/SQL menambahkan teknik pemrograman terstruktur ke dalam SQL. PL/SQL digunakan dalam back end programing yang dibangun oleh SQL dan bahasa prosedural. Jenis-jenis PL/SQL di antaranya adalah anonymous block, stored program units (procedure, function, package), dan trigger.
a. Sifat-sifat PL/SQL (secara kode program)
1. Mirip Bahasa pemrograman Pascal
2. Case insensitive (basar kecil karakter tidak mempengaruhi)
3. Strong typed, semua variable harus dideklarasikan
b. Striktur umum PL/SQL
v Bagian deklarasi
Dimulai dengan perintah DECLARE, berfungsi untuk mendeklarasikan variabel-variabel yang diperlukan didalam PL/SQL. Jika tidak memerlukan variable, maka bagian deklarasi ini dapat dihilangkan.
v Bagian eksekusi
Bagian yang memuat sintaks PL/SQL. Dimulai dengan perintah Begin. Sintaks dapat berupa pemilihan (IF-THEN), perulangan (for,loop,while), mengambil nilai select, cursor, dan sebagainya.
v Bagian eksepsi
Bagian yang memuat cara menangani kesalahan-kesalahan atau error handling pada waktu eksekusi PL/SQL. Bagian eksepsi juga dapat dihilangkan jika tidak diperlukan penanganan kesalahan dalam PL/SQL.
c. Contoh Stored Procedure
Reference :
· Diktat Sistem Basis Data Oleh Budi Laksono Putro, M.T
· Integritas data .ppt oleh Yudi Wibisono,MT.
· Modul Praktikum Sistem Basis Data 2014.
· Hand Out Sistem Basis Data: Stored Procedure dan Trigger oleh Yudi Wibisono, MT
· Modul Praktikum Trigger Tahun 2013

















Comments
Post a Comment