Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 1: Introduktion. 2. februar Forelæser: Rasmus Pagh

Relaterede dokumenter
Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 1: Introduktion. 3. februar Forelæser: Rasmus Pagh

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar Forelæser: Rasmus Pagh

Skriftlig Eksamen Beregnelighed (DM517)

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 2: Relationer og SQL. 10. februar Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar Forelæser: Rasmus Pagh

CHAPTER 8: USING OBJECTS

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Skriftlig Eksamen Beregnelighed (DM517)

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Generelt om faget: (Eventuelle kommentarer til højre) - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum?

Generelt om faget: - Hvordan vurderer du dit samlede udbytte af dette fag?

Basic statistics for experimental medical researchers

Observation Processes:

LESSON NOTES Extensive Reading in Danish for Intermediate Learners #8 How to Interview

Database. lv/

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

University of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3

Vina Nguyen HSSP July 13, 2008

Titel: Hungry - Fedtbjerget

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Trolling Master Bornholm 2015

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Linear Programming ١ C H A P T E R 2

Financial Literacy among 5-7 years old children

how to save excel as pdf

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Skriftlig Eksamen Diskret matematik med anvendelser (DM72)

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

GUIDE TIL BREVSKRIVNING

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

University of Copenhagen Faculty of Science Written Exam April Algebra 3

INDSIGELSE DISPUTE. Nordjyske Bank Hotline

Skriftlig Eksamen Automatteori og Beregnelighed (DM17)

Strings and Sets: set complement, union, intersection, etc. set concatenation AB, power of set A n, A, A +

Titel: Barry s Bespoke Bakery

Den uddannede har viden om: Den uddannede kan:

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/

Black Jack --- Review. Spring 2012

Danish Language Course for Foreign University Students Copenhagen, 13 July 2 August 2016 Advanced, medium and beginner s level.

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

Reventlow Lille Skole

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

Trolling Master Bornholm 2015

How Long Is an Hour? Family Note HOME LINK 8 2

USERTEC USER PRACTICES, TECHNOLOGIES AND RESIDENTIAL ENERGY CONSUMPTION

Unitel EDI MT940 June Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

University of Copenhagen Faculty of Science Written Exam - 8. April Algebra 3

Implementing SNOMED CT in a Danish region. Making sharable and comparable nursing documentation

Evaluering af Master in Leadership and Innovation in Complex Systems

Boligsøgning / Search for accommodation!

Sign variation, the Grassmannian, and total positivity

Udbud på engelsk i UCL. Skabelon til beskrivelse

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3

Appendix 1: Interview guide Maria og Kristian Lundgaard-Karlshøj, Ausumgaard

To the reader: Information regarding this document

1.3 How do you rate the coordination of this course to other (related) courses?

National supercomputing dag Muligheder og Udfordringer

Tema: Pets Fag: Engelsk Målgruppe: 4. klasse Titel: Me and my pet Vejledning Lærer

About the course: (Please comment to your right) - To which degree has the course facilitated learning the skills outlined in the academic aims?

United Nations Secretariat Procurement Division

Hvor er mine runde hjørner?

Det er muligt at chekce følgende opg. i CodeJudge: og

Databasesystemer. IT Universitetet i København 7. juni 2005

Trolling Master Bornholm 2014

Geografi / Teksam / Miljørisiko / Spatial Designs and Society

Aktivering af Survey funktionalitet

TØ PÅ MATEMATIK AARHUS UNIVERSITET SCIENCE AND TECHNOLOGY LEARNING LAB 18. AUGUST 2017 CENTERLEDER, ST LEARNING LAB

Sport for the elderly

Application form for access to data and biological samples Ref. no

2a. Conceptual Modeling Methods

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X & 10.8

Tilmelding sker via stads selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

Status på det trådløse netværk

Web Development (Top-Up PBA)

Projektledelse i praksis

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling

Handout 1: Eksamensspørgsmål

Åbenrå Orienteringsklub

Studieordning del 3,

Nanna Flindt Kreiner lektor i retorik og engelsk Rysensteen Gymnasium. Indsigt i egen læring og formativ feedback

SAS Corporate Program Website

XV1100K(C)/XV1100SK(C)

Bookingmuligheder for professionelle brugere i Dansehallerne

Forslag til implementering af ResearcherID og ORCID på SCIENCE

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

Dagens program. Incitamenter 4/19/2018 INCITAMENTSPROBLEMER I FORBINDELSE MED DRIFTSFORBEDRINGER. Incitamentsproblem 1 Understøttes procesforbedringer

MEDLEY CHALLENGE 2016/2017

Databasesystemer. IT Universitetet i København 16. januar 2006

MOC On-Demand Identity with Windows Server 2016 [20742]

Admission criteria for the Danish Section For at blive optaget på Europaskolen skal du have aflagt Folkeskolens Adgangsprøve eller lignende.

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR

Improving data services by creating a question database. Nanna Floor Clausen Danish Data Archives

Tilmelding sker via stads selvbetjening indenfor annonceret tilmeldingsperiode, som du kan se på Studieadministrationens hjemmeside

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Eksempel på eksamensspørgsmål til caseeksamen

(Eventuelle kommentarer til højre) - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum?

Statistik for MPH: 7

Transkript:

Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 1: Introduktion 2. februar 2006 Forelæser: Rasmus Pagh

Lidt om jeres undervisere Rasmus Pagh (forelæser): Ph.d. i datalogi fra AU, 2002. Forskning i algoritmik, bl.a. i spørgsmål omkring effektiv implementation af DBMSer, softwaren bag databaser. Har undervist i databaser på ITU siden foråret 2003, på såvel introducerende som videregående databasekurser. Esben Rune Hansen (forelæser): Cand. it. og ph.d. studerende på ITU. Forskning indenfor brug af logik i design af brugergrænseflader. Hjælpelærere: Knut Tveitane (SWU stud. på ITU). Martin Scheil Corneliussen (SWU stud. på ITU). 1

Kursussprog: Danglish Kursusbog på engelsk. Forelæsninger på dansk. Tekniske termer uden entydig oversættelse dog altid på engelsk. Slides, opgaver, etc. på blandet dansk og engelsk. 2

Forelæsningen i dag Hvorfor studere databaser? Målsætning og indhold. Praktisk information. Introduktion til kursets indhold. Øvelser: Brug af ITUs Oracle database. 3

Hvorfor studere databaser? Akademikerens grund: Databaser har berøring med mange fascinerende emner indenfor datalogi. Programmørens grund: Har brug for databaser til at udvikle programmer. Informationspilotens grund: Vil arbejde med, og trække information ud fra, store, dynamiske datamængder. Kapitalistens grund: Alle har brug for databaser her er der penge at tjene! 4

Målsætning for kurset Du får kendskab til de grundlæggende regler for datamodellering og datamanipulation i (relationelle) databaser, og således baggrund for at arbejde med systemer, hvor databaser indgår. Specifikke kompetencer: Lave et database-design i E-R modellen, og oversætte det til en relationel datamodel. Programmere forespørgsler i SQL, der involverer f.eks. gruppering, aggregering, og underforespørgsler. Foretage normalisering for at forbedre en relationel datamodel. Skabe database constraints, såsom referenceintegritet. Anvende indeksering til at forbedre en databases effektivitet. Analysere opførslen af transaktioner, der udføres parallelt. 5

Kursusindhold Kursusindhold i hovedpunkter: Introduktion til database management. Database design ved brug af entity-relationship datamodellen, EER modellen, eller UML. Den relationelle model og normalisering. Programmering af databaseforespørgsler i SQL. Effektiv databaseimplementation. Transaktionshåndtering. OLAP. XML i databaser. 6

Kursusformat Forelæsninger: Torsdag 17.00-ca. 19.00, Aud. 3 (fra 9/2). Blanding af forelæsninger og korte problemsessioner uden forberedelse. Øvelser: Torsdag 19.00-21.00 For hver forelæsning stilles en blanding af lette øvelser, der kan løses med baggrund i forelæsningen, og lidt sværere opgaver, der typisk kræver hjemmearbejde (læsning, tænkning, etc.) Det er op til jer hvornår I vil arbejde på hvilke opgaver. Løsninger gennemgås ikke i plenum. Obligatoriske afleveringer: 3 individuelle og 3 gruppeopgaver. Eksamen: Skriftlig, 4 timer, d. 8. juni 2006. Tidligere eksamenssæt findes på kursushjemmesiden. 7

Hvorfor obligatoriske (gruppe)afleveringer? Det er en udbredt opfattelse, at obligatoriske afleveringer bare er en måde at svinge pisken, og få jer til at arbejde mere! Men der er andre grunde: Basis for at give konstruktiv og omfattende feedback i løbet af semesteret. Projektarbejde om et udviklingsforløb giver erfaringer, som det er svært at teste til eksamen. Projektarbejde i en gruppe giver erfaringer, som det er svært at opnå på egen hånd. 8

Overlevelse 1: Obligatoriske afleveringer Afleveres som hovedregel til hjælpelæreren i forbindelse med øvelserne, eller via e-mail. Alle opgaver bortset fra højst 1 individuel opgave skal godkendes for at kunne gå til eksamen. Der er mulighed for 1 genaflevering af hver opgave, men kun hvis der er gjort et seriøst forsøg på at besvare den til afleveringsfristen. Opgaver ligger på kursushjemmesiden mindst 2 uger før fristen. Gruppeopgaver skal laves i grupper med 3 eller 4 studerende. (For studerende med fuldtidsarbejde kan der dispenseres for dette.) 9

Overlevelse 2: Mad Nærmeste åbne kantine er på KUA (2 min. gang fra ITU) åbent til 19.30. Diverse slikautomater på ITU. Mad og drikke må ikke indtages i auditoriet... men pauserne burde række til en sandwich. 10

Kursusmateriale Kursushjemmeside: Nyheder, læseanvisninger, slides, øvelser, afleveringsopgaver. URL: www.itu.dk/people/pagh/dbs06/ Lærebog: Modern Database Managament, 7th ed, af Hoffer, Prescott og McFadden. Supplerende materiale on-line på www.itu.dk/people/pagh/dbs06/intranet/ (kræver brugernavn og password, som I vil få tilsendt per e-mail). Supplerende litteratur om SQL (ikke pensum): SQL Clearly Explained af Jan L. Harrington. Lærebogen sælges i Samfundslitteratur (ved siden af ITUs information). Den supplerende bog er bestilt hjem, men der er pt. ikke eksemplarer til alle. 11

Om Modern Database Management Amerikansk bog: Mange sider, mange eksempler, en del redundans. Styrker: Giver et godt billede af den sammenhæng databasesystemer indgår i, med fokus på udvikling af databaser med forretningsdata. Svaghed: På visse steder manglende præcision og dybde omkring tekniske aspekter. Forelæsningerne vil være fokuseret på det databasespecifikke materiale, og vil forsøge at supplere bogen hvor der mangler noget. Det er altså ikke alt materialet fra bogen, der dækkes af forelæsningerne. 12

Efter pausen: Kursusoverblik What is a database? What is a database management system (DBMS)? What is a relational database? How are databases designed? How are databases programmed?... and other subjects of the course. 13

What is a database? According to Webster s dictionary: da ta base a usually large collection of data organized especially for rapid search and retrieval (as by a computer) Remark: The need for (and the ability to give) rapid answers to a multitude of queries about data is increasing. Databases have thus grown to perform much more advanced processing than search and retrieval. 14

What is a database management system? Database management system (DBMS): Software system used when implementing databases more precisely System for providing efficient, convenient, and safe storage of and multi-user access to (possibly massive) amounts of persistent data. 15

What is a relational database? All major general purpose DBMSs are based on the so-called relational data model. This means that all data is stored in a number of tables (with named columns), such as: accountno balance type 12345 1000.00 savings 67890 2846.92 checking 32178-3210.00 loan......... For historical, mathematical reasons such tables are referred to as relations. This course is mainly on relational databases, and on relational database management systems (RDBMSs). 16

How are relational databases designed? It is often far from obvious to decide how to store data from an application as relations. A considerable part of the course will deal with a methodology for good relational database design. Problem session: (5 minutes, discuss in groups of 2-4 students) Suggest how to represent the following types of data as one or more relations: An address book (names, addresses, phone numbers). A phone operator s record of phone calls. Can you avoid (or reduce) duplication of information? 17

Database design methodology We will cover the dominant design methodology for relational databases, which consists of three steps: 1. Identify all relevant Entities and Relationships, and describe them using so-called E-R model notation. (Lecture 3.) 2. Convert the E-R model to a number of relations. (Lecture 3.) 3. Eliminate (or reduce) redundancy by splitting relations. This process is called normalization. (Lecture 6.) In real, complex systems the process is often iterated several times before a final design is reached. 18

How are relational databases programmed? The success of relational databases is largely due to the existence of powerful programming languages for writing database queries. The most important such language is SQL ( Structured Query Language, sometimes pronounced sequel ). Important properties: convenient: queries can be written with little effort efficient: even for large data sets, a good DBMS can answer queries written in SQL quickly (compared to the fastest possible) 19

SQL example Consider the following relation, which we give the name Accounts: accountno balance type 12345 1000.00 savings 67890 2846.92 checking 32178-3210.00 loan SQL to get the balance of account 67890: SELECT balance FROM Accounts WHERE accountno = 67890; 20

More SQL examples SELECT accountno, balance FROM Accounts WHERE type = loan AND balance < -10000; SELECT * FROM Accounts WHERE accountno > balance; The * is a shorthand for the list of all column names (or attributes). 21

Querying several relations, an example Suppose we have a relation Holders related (!) to Accounts: accountno name address 12345 Scrooge Money Tank 67890 Donald Duck Apple Rd 13 67890 Daisy Duck Apple Rd 13 32178 Gyro Gearloose Inventor s lane 1 SQL to get names of all holders of checking accounts: SELECT name FROM Accounts, Holders WHERE Accounts.accountNo = Holders.accountNo; 22

General form of simple SELECT-FROM-WHERE SELECT name1, name2,... FROM relation1, relation2,... WHERE <some condition>; You will learn next week what happens in general when there is more than one relation involved in the SELECT-FROM-WHERE. 23

Problem session Consider again the relation Accounts: accountno balance type 12345 1000.00 savings 67890 2846.92 checking 32178-3210.00 loan Problem session: (5 minutes, discuss in groups of 2-4 students) Write an SQL query that finds all accounts (i.e., account number and type) that have positive balance but not more than a balance of 2000. 24

Syntax and semantics of SQL As you have seen, SQL queries resemble questions in English. Often, the effect of an SQL query can easily be intuitively understood. During the course you will learn how to program much more complex queries in SQL. To be able to do that you need a precise understanding of SQL s: Syntax. The way SQL may be written. Semantics. The meaning of an SQL statement. 25

Other aspects of SQL In addition to queries, SQL can be used to express many types of database operations: Define new relations. Perform changes to data. Set up constraints and triggers. Manage users, security, rights, etc. Control transactions in a multi-user environment.... These aspects are covered later in the course. 26

Most important points in this lecture As a minimum, you should after this lecture: Know how to qualify for the exam. Know a little about some key concepts: Relation, (R)DBMS, SQL queries, normalization, relational algebra, and know how they fit into this course. Understand how a subset of a relation R can be obtained using SELECT... FROM R WHERE.... 27

Læsevejledning Skemaet angiver MDM kapitel 1 og 2 som litteratur til denne forelæsning. Disse kapitler giver et bredt billede af databasesystemers rolle i virksomheder, og af de processer, der bruges når systemer skal udvikles, altså også emner jeg ikke har berørt ved forelæsningen. Vi er startet på materiale fra MDM kapitel 7, og resten af kapitlet gennemgås næste gang. 28

Næste uge Næste uge taler Esben videre om relationer og SQL: Hvad er den relationelle datamodel? Hvad er en relation helt præcist? Hvad er de grundliggende måder at skrive SQL udtryk på? Hvordan opdaterer man data i en relation? Hvordan skaber man nye relationer i SQL? 29