File-Based systems?
collection of application programs that perform services for the end users. each program defines and manages its own data.
Limitations of File-Based approach?
- separation and isolation data
- duplication of data
- Data dependence
- incompatible file formats
- fixed queries of application programs
untuk mengatasi keterbatasan dari file-based maka?
Database approach muncul. Database adalah koleksi bersama dari sejumlah data yang secara logikal berhubungan dan dirancang untuk memenuhi informasi organisasi.
What is Database and Database management system (DBMS)
Database adalah koleksi bersama dari sejumlah data yang secara logikal berhubungan dan dirancang untuk memenuhi informasi organisasi. dan DBMS merupakan sistem software yang memungkinkan user untuk mendefinisikan, menciptakan, memelihara dan menyediakan akses kontrol kedalam database.
Database approach ada 2 jenis?
- Data definition language (DDL)
2. Data manipulation language (DML)
Perbedaan DDL (data definition language) dengan DML (data manipulation language) adalah?
DDL merupakan data yang lengkap yang sudah didefinisi dalam database. bisa dibilang bahwa DDL merupakan file master aslinya. sedangkan DML merupakan hasil data yang didapatkan dari hasil manipulasi DDL. contohnya didalam DDL terdapat records tanggal, bulan dan tahun lahir, makan bisa didapatkan hasil manipulasi umur yang merupakan DML.
Concurrency?
Concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other.
Components of DBMS environment?
dari kiri ke kanan:
hardware - software - data - procedures - people
hardware: contohnya komputer hingga jaringan dari komputer.
software: DBMS, OS, network software, application programs
Data: used by organization and a description of this data called the schema.
procedures: instruction and rules that should be applied to the design and use of the database and DBMS.
History of database systems?
- first generation: hierarchical and network
- second generation: relational
- third generation: object-relational, object-oriented
Advantages of DBMS?
- Control of data redudancy
- data consistency
- sharing of data
- improved data integrity
- improved security
- increased productivity
- increased concurrency
- improved backup and recovery services
Disadvantages of DBMS?
- complexity
- size
- cost of DBMS
- cost of additional hardware
- cost of conversion
- performance
- higher impact of a failure
Purpose of three-level database architecture?
- all users should be able to access same data
- a user’s view is immune to changes made in other views
- users should not need to know physical database storage details
- internal structure of database should be unaffected by changes to physical aspects of storage.
- DBA should be able to change database storage structures wihout affecting the user’s views
ANSI-SPARC three-level architecture?
- External level:
- users view of the database
- describe part of database that is revelant to a particular user - Conceptual level:
- community view of the database
- describe what data is stored in database and relationship among the data - Internal level:
- physical representation of the database on the computer
- describe how the data is stored in the database
Object-based data models?
- entity-relationship
- semantic
- functional
- object-oriented
record-based data models?
- relational data model
- network data model
- hierarchical data model
3 jenis data models?
- object-based data models
- record-based data models
- physical data models
Functions of a DMBS? !!!
- Data storage, retrieval, and update
- a user-accessible catalog
- transaction support
- concurrency control services
- recovery services
- authorization services
- integrity services
- utility services
What is system catalog?
system catalog adalah pusat informasi tentang data yang menjelaskan data-data yang ada dalam database.
System catalog merupakan salah satu komponent penting dalam DBMS.
5 basic operation dalam relational algebra?
- selection
- projection
- cartesian product
- union
5 set difference
Perbedaan View resolution dengan View materialization?
View resolution menggabungkan query pada view beserta definisinya dan menghasilkan sebuah query berdasarkan base table. Proses ini akan dijalankan setiap kali DBMS perlu untuk melakukan query sebuah View.
Sedangkan View materialization menyimpan View sebagai temporary table dalam database ketika view pertama kali dijalankan. Sehingga proses query dapat dilakukan lebih cepat daripada harus setiap kali melakukan komputasi view berulang.
Jelaskan tentang Integrity Enhancement Feature (IEF)
Integrity Enhancement Feature menyediakan fasilitas untuk mendefinisikan referential integrity dan constraints. Sebelumnya adanya IEF, setiap aplikasi program harus memastikan referential integrity dan constraint secara manual. Dengan adanya IEF, meningkatkan fungsional dari SQL dan dapat melakukan pengecekan constraint secara centralized dan standardized.
5 jenis dari Integrity Constraint pada IEF?
- required data
- domain constraints
- entity integrity
- referential integrity
- general constraints
These constraints can be defined in the CREATE and ALTER TABLE statements.
Jelaskan secara singkat tentang File Server Architecture dan kelemahannya?
File server architecture terhubung ke beberapa workstation melintasi suatu jaringan. Database berada pada file server. DBMS dan aplikasi dijalankan pada setiap workstation.
Kelemahan:
- Jalur jaringan yang signifikan
- Salinan DBMS pada setiap workstation
- Konkurensi, recovery dan kontrol integritas lebih kompleks
Jelaskan secara singkat tentang Client Server Architecture dan apa kelebihan atau keuntungannya!
Server memegang database dan DBMS. Client mengatur tampilan antarmuka atau user interface dan menjalankan aplikasi. Kelebihan: - Akses yang lebih luas ke database - Meningkatkan tampilan atau performance - Memungkinkan reduksi biaya hardware - Mereduksi biaya komunikasi - Meningkatkan konsistensi
Apa itu Relation, Attribute, Domain, Tuple, Degree, Cardinality?
Relation atau relasi adalah suatu tabel dengan kolom-kolom dan baris-baris. Attribute atau atribut adalah suatu kolom yang memiliki nama dari suatu relasi. Domain adalah suatu set dari nilai yang diperbolehkan untuk satu atau beberapa atribut. Tuple adalah suatu baris dari suatu relasi. Degree adalah jumlah atribut (kolom) dalam relasi. Cardinality atau kardinalitas adalah jumlah tuple (baris) dalam suatu relasi.
Apa itu Candidate Key, Primary Key, Alternate Key, Foreign Key?
Candidate key adalah atribut minimal yang memiliki sifat unik. Primary key adalah candidate key yang terpilih. Alternate key adalah candidate key yang tidak terpilih. Foreign key adalah atribut dari suatu tabel yang menjadi primary key dari tabel lain.
What is NULL?
Null adalah representasi nilai untuk suatu atribut yang tidak diketahui atau tidak teraplikasi atau belum ada dalam suatu tuple atau nilai yang saat ini belum diketahui.
What is Virtual Relation?
Virtual relation adalah yang tidak secara aktual ada dalam database tetapi dihasilkan melalui permintaan pada waktu permintaan.
Jenis-jenis View?
Horizontal view (selection), Vertical view (projection), Vertical dan Horizontal view (kombinasi selection dan projection).
Keuntungan penggunaan View?
- Security
setiap user dapat diberikan permission untuk mengakses ke database melalui kumpulan view yang memiliki data yang relevan kepada user, sehingga mencegah user untuk mengakses kedalam file master - Query Simplicity
sebuah view dapat dihasilkan dari beberapa relation dan ditampilkan sebagai satu relation. - Data Consistency
sebuah view dapat mempresentasikan struktur yang konsisten dari sebuah database. - Data Integrity
Jika data diakses sebagai suatu view, DBMS dapat melakukan pengecekan pada data untuk memastikan sudah memenuhi integrity constraint - Structural Simplicity
view dapat memberikan tampilan yang custom kepada user dari struktur database. Sehingga dapat yang dihasilkan lebih memiliki makna.
What is Referential Integrity?
Referential Integrity digunakan untuk menjaga konsistensi baris-baris data antara dua buah table. Saat kita melakukan on update atau on delete kita bisa menambahkan pilihan sebagai berikut:
- NO ACTION
- CASCADE
- SET NULL
- SET DEFAULT
Perbedaan Procedural DML dengan Non-procedural DML?
Procedural DML: memperbolehkan pengguna untuk mengatakan kepada sistem bagaimana teaptnya memanipulasi data Non-procedural DML
Non-Procedural DML: memperbolehkan pengguna untuk menyatakan data apa yang diperlukan daripada bagaimana data itu diterima.
What is View?
A view is the dynamic result of one or more relational operations operating on the base relations to produce another relation.
2 jenis query optimization?
- dynamic query optimization
melakukan dekomposisi dan optimisasi sekali kali query dijalankan. Keuntungan dari dynamic query optimization yaitu untuk menghasilkan strategi yang maksimal setiap kali dijalankan - static query optimization
melakukan dekomposisi dan optimisasi hanya sekali saja pada saat pertama kali dijalankan. keuntungan dari static query optimization yaitu memiliki waktu lebih untuk melakukan eksekusi
Disadvantages of Views?
Performance
Views create the appearance of a table, but the DBMS must still translate queries against the view into queries against the underlying source tables. If the view is defined by a complex, multi-table query then simple queries on the views may take considerable time.
Update restrictions
When a user tries to update rows of a view, the DBMS must translate the request into an update on rows of the underlying source tables. This is possible for simple views, but more complex views are often restricted to read-only.