DB&SQL 1- 1 Databases & SQL Teacher: Henny Klein contact: wednesday room All material and assignments on Nestor
DB&SQL 1- 2 Content of the course First block C H 1 t.m. 5 Basic knowledge for the design and manipulation of relational databases Second block C H 6 t.m. 10 other types of databases processes in a DBMS distributed systems
DB&SQL 1- 3 Content of practical sessions Access: basic manipulations: tables, relations, QBE, forms, reports Access- SQL –data definition –data manipulation –queries Programming in Access –functions, event handling (VBA, DAO) Building an application
DB&SQL 1- 4 Your own design! You will train with example databases but every student has also to build his/her own database during lectures we will discuss your design in practical exercises you can build your database, formulate queries, etc. Assignment for this week (details later): Think of a theme for your database!
DB&SQL 1- 5 The book Gives the essential information, but concise, so in lectures time is spent on explanation and examples. Gives exercises, use them as a method of self assessment
DB&SQL 1- 6 Grading rules Design+ProjectSQL/VBAExam 30%30%40% Design exercises as homework Individual project SQL and VBA: practical exercises Tentamination: mostly theory, some SQL, no VBA
DB&SQL 1- 7 Card catalogue, textfile, DBMS How did people search books in a library before the computer era? What are advantages of an electronic system? What are advantages of a database system compared to a textfile? How did departments of organizations communicate before the computer era? What are advantages of a DBMS here?
DB&SQL 1- 8 Database management systems Systematic, structured data storage each data item is stored once, no redundancy data integrity and security ensured data available for distinct applications concurrent use of data differents views on data DBMS used in many environments: administration (products, clients, employees) information (catalogues) research (data storage, data mining) online applications
DB&SQL 1- 9 Information Science and databases DBMS: the standard system to store information, so often important in your work, and even beforehand: –many students have to handle databases in their ….. in public or private organizations –in a research …….. or in in your own research project
DB&SQL The multi-layer system Presentation of the data (views) Access: Forms, reports, VBA, SQL Outside Access: (web)applicaties Logical description of the data (conceptual level) DBMS Operating system (host) Physical storage of data
DB&SQL Types of database systems early types: –Hierarchical database –Netwerk database currently most common: –Relational database –Integration of XML developing: –Object oriented database
DB&SQL Database: conceptual model of reality ??? Which information items (attributes) may be useful for the entity BOOK TREE ??? The choice of attributes depends on the properties of the entities but also on the context A database is a model of reality
DB&SQL Relational db: example of a table CODELEV_NAAMADRESWOONPLAATS 004Hovenier G.H.Zandweg 50Lisse 009Baumgarten R.Taksstraat 13Hillegom 011Struik BVBessenlaan 1Lisse 013Spitman en Zn.Achtertuin 9Aalsmeer 014Dezaaier L.J.A.De Gronden 101Lisse 019Mooiweer FA.Verlengde Zomerstr. 24Aalsmeer Each row represents the data of 1 supplier Each row is unique Data are split up in simple items (comments??) Tabel Leveranciers (=suppliers) Scheme: Leveranciers (code, lev_naam, adres, woonplaats)
DB&SQL The anatomy of a table / relation record, entiteit record, entity rij, tupel row, tuple kolom column attribuutwaarde attribute value attribuut, veldnaam attribute, field name kolomkop column heading tabelkop, schema table heading, scheme gegevens data, record set, body NB An attribute has a data type and a domain
DB&SQL Identification required In a relational database, duplication of data must be prevented. Why?? What are the problems?? It is important to choose a sound identification, for current but also for possible future Think of a appropriate identification for students (in Progress) books (in the library) members of a hockey club?
DB&SQL Identification problems Which problems may occur by using NAW-data (Naam Adres Woonplaats) ISBN day of birth? Often, a system-created unique number is used as the primary key (primaire sleutel). It is easy and makes searching faster. But does it really discern your entities?
DB&SQL Introduction of database design In most cases, one table is not enough for structured data storage The next slides show basic principles of database design Later on, in Chapter 4, relational database design is discussed at length
DB&SQL Library as a flat table: redundant data Author data
DB&SQL Preventing redundancy The table asserts several times that Big House has Phone xxx Problems with data redundancy: file size data integrity (update/insert anomalies) Solution: The phone number is an attribute of the publisher, not of the book So publisher is an entity on its own But how are book and publisher related??
DB&SQL Relationship Publisher-Book: 1 to many
DB&SQL Establishing a relationship BOOKS PUBLISHERS Publisher and book are distinct entity classes, they need distinct tables Primary key / primaire sleutel referencing key / verwijzende sleutel
DB&SQL Author: a multivalued attribute provisional solutions a multivalued field? a repeated field? repeating the bookrecord?
DB&SQL and the problems Problems: find an author, sort on an author Problems: find an author, sort on an author, number of author fields? empty fields Problems: redundancy: integrity problems, filesize
DB&SQL The relational solution for multiple values Authors are split up in an additional table Each record connects one AUTHOR to a BOOK Table BOOKS Table BOOK-AUTHOR Rule: attributes contain only one simple value
DB&SQL complex data An author may have more attributes: first name family name birthday …. how can we design a database for books and authors as separate entities? what about the relationship?
DB&SQL Relationship BOOK – AUTHOR: many to many A1 A4 A2 A3 B1 B2 B3 B4 B5
DB&SQL Library: Books and authors 2 entities and a link table (tussentabel)
DB&SQL Database design Which entities, which attributes? Which primary key? Book:ISBN, Title, Price Publisher:PubID, PubName, PubPhone Author:AuID, AuName, AuPhone Which relations? A book has 1publisher A publisher publishes 1 or more books : infinite many A book has 1 or more authors An author writes 1 of more books U B 1 - S B -
DB&SQL Entity-Relation Diagram (Ch 2) Author Book Publisher published by/ publishes written by/ writes 1 Method Start from one record in a table and write the relationship type at the other table (1 or )
DB&SQL Homework 1.Read and note your questions about –Rolland: Ch 1, Ch 3.1 Challenge: table 1.1 is not the right representation of the data in fig 1.5 and 1.6. Try to correct it! –Additional info: Brookshear 9.1 en Think of a theme for your own database project (hobby, useful data,..) and write down –which entities you discern (at least 3) –which attributes they have –what relationships exist among them Copy your notes and bring them next lecture to discuss and to hand in! Next week: chapter 2: ER diagrams