English version of the materials are work in progress!
Expect bugs, typos, and other issues. The English version is expected to be completed during spring 2026.
Content and Objectives
Welcome to the course Databases and Data Management!
Why is this course important?
Almost every application or information system processes and stores data. Most often, application data is stored in a database. A database may have various requirements related to storage, reading, and usage. For example:
A simple note-taking application does not place many requirements on data processing. Usually, it is enough to be able to save, view, and edit notes.
A banking system is a large information system that maintains user information and funds. User data and funds must be secured and backed up. Additionally, it must be ensured that amidst thousands of bank transfers, user balances are correct at all times.
A database and the data within it can be a very critical part of an information system. Successful data management improves the application's security, speed, and reliability.
Course Content
The course is divided into seven sections, which contain teaching material, examples, and exercises:
- Introduction - Basic concepts related to the course and databases
- Conceptual Modelling - Modelling and drawing a database with an ER diagram
- Exercise: Learning to draw ER diagrams
- Relational Model - Official definition of the relational model and how ER diagrams are converted into relations of the relational model
- Exercise: Learning to convert ER diagrams into relations
- SQL - Using relational databases with the SQL language
- Exercise: Practicing SQL language (defining a database, inserting, modifying, and retrieving data)
- Normalization - Optimizing a relational database and checking the correctness of the structure using the five most common normal forms (1NF, 2NF, 3NF, BCNF, 4NF)
- Exercise: Normalizing relations using normalization rules
- Data Management - Basics of data management
- Exercise: Revision of all previous sections
- Course Completion Parts
- Project Work: Designing, modelling, and implementing your own database
- Online Exam: An independent exam based on the topics of sections 2-6
- Self-assessment and feedback
Each chapter contains text material, examples, revision questions, and training exercises. You can choose how you use the course material, but the exercises, project work, exam, and self-assessment are a mandatory part of the completion (see Completion and Workload).
Course Objectives
This course offers a broad introduction to databases and data management. In particular, the course focuses on practical skills needed in the design and use of databases. At the center of the course is the relational database model, which is by far the most popular database model and offers general background knowledge for the use of databases.
The course has three learning objectives:
- Learn basic concepts related to databases
- "General knowledge" language when talking about databases: database, data model, DBMS, ACID, CRUD, ...
- Learn how to design, implement, analyze, and optimize relational databases in practice
- Conceptual modelling (ER diagrams), model transformation, SQL, and normalization
- Get to know data management in information systems
- Principles of data warehousing, distribution, overview of other database models
At the end of the course, the student
can explain the meaning of key concepts, principles, and functions related to data management and database management systems;
can apply the ER model in conceptual modelling and understands what role conceptual models have in information architectures;
can apply the concepts of the relational model and transform an ER diagram into a relational database schema; can apply SQL to define tables and authorizations and to perform basic operations (create, read, update, delete);
can normalize relations to the fourth normal form; can explain typical problems of concurrent transactions, required properties of a transaction, isolation levels, locking methods, and their significance to the timing of transactions;
can describe the principles, architecture, functions, and benefits of data warehousing and apply star and snowflake schemas;
can explain parallel architectures and distribution techniques related to databases;
knows about new principles and paradigms of data management and databases and can compare them to traditional models.
Sisältö ja tavoitteet
Tervetuloa opintojaksolle Tietokannat ja tiedonhallinta!
Miksi tämä opintojakso on tärkeä?
Miltei jokaisessa sovelluksessa tai tietojärjestelmässä käsitellään ja tallennetaan dataa. Useimmiten sovelluksen dataa tallennetaan tietokantaan. Tietokantaan voi liittyä erinäisiä tallentamiseen, lukemiseen ja käyttöön liittyviä vaatimuksia. Esimerkiksi:
Yksinkertainen muistiinpanosovellus ei aseta paljon vaatimuksia datan käsittelylle. Yleensä riittää, että muistiinpanoja pystyy tallentamaan, katsomaan ja muokkaamaan.
Pankkijärjestelmä on laaja tietojärjestelmä, jossa ylläpidetään käyttäjien tietoja ja varoja. Käyttäjien tiedot ja varat tulee turvata ja varmuuskopioida. Lisäksi pitää varmistaa, että tuhansien pankissa tapahtuvien tilinsiirtojen keskellä käyttäjien saldot ovat koko ajan oikein.
Tietokanta ja siinä oleva data voi olla siis hyvinkin kriittinen osa tietojärjestelmää. Onnistuneella tiedonhallinnalla parannetaan sovelluksen turvallisuutta, nopeutta ja toimintavarmuutta.
Opintojakson sisältö
Jakso on jaoteltu seitsemään osaan, joissa on opetusmateriaalia, esimerkkejä ja harjoituksia:
- Johdanto - Opintojaksoon ja tietokantoihin liittyvät perusasiat
- Käsitteellinen mallintaminen - Tietokannan mallintaminen ja piirtäminen ER-kaaviolla
- Harjoitus: Opitaan piirtämään ER-kaavioita
- Relaatiomalli - Relaatiomallin virallinen määritelmä sekä miten ER-kaaviot muunnetaan relaatiomallin relaatioiksi
- Harjoitus: Opitaan muuntamaan ER-kaavioita relaatioiksi
- SQL - Relaatiotietokantojen käyttäminen SQL-kielellä
- Harjoitus: SQL-kielen harjoittelu (tietokannan määrittely, tietojen tallentaminen, muokkaaminen ja hakeminen)
- Normalisointi - Relaatiotietokannan optimointi ja rakenteen oikeellisuuden tarkastaminen käyttäen viisi yleisintä normaalimuotoa (1NF, 2NF, 3NF, BCNF, 4NF)
- Harjoitus: Relaatioiden normalisointi normalisointisääntöjä käyttäen
- Tiedonhallinta - Tiedonhallinnan perusteet
- Harjoitus: Kertausta kaikista edellisistä osista
- Opintojakson suoritettavat osat
- Harjoitustyö: Oman tietokannan suunnittelu, mallintaminen ja toteutus
- Verkkotentti: Itsenäisesti suoritettava tentti osien 2-6 asioiden pohjalta
- Itsearviointi ja palaute
Jokaisessa luvussa on tekstimateriaalia, esimerkkejä, kertauskysymyksiä sekä harjoitustehtäviä. Voit valita itse, millä tavalla käytät opintojakson materiaalia, mutta harjoitustehtävät, harjoitustyö, tentti ja itsearviointi ovat pakollinen osa suoritusta (ks. Suorittaminen ja työmäärä).
Opintojakson tavoitteet
Tämä opintojakso tarjoaa laajan johdatuksen tietokantoihin ja tiedonhallintaan. Erityisesti opintojaksolla keskitytään käytännön taitoihin, joita tarvitaan tietokantojen suunnittelussa ja käytössä. Jakson keskiössä on relaatiotietokantamalli, joka on ylivoimaisesti suosituin tietokantamalli ja joka tarjoaa yleiset pohjatiedot tietokantojen käyttöön.
Opintojaksolla on kolme oppimistavoitetta:
- Opitaan tietokantoihin liittyvät peruskäsitteet
- "Yleissivistävää" kieltä tietokannoista puhuttaessa: tietokanta, tietomalli, DBMS, ACID, CRUD, ...
- Opitaan, miten käytännössä suunnitellaan, toteutetaan, analysoidaan ja optimoidaan relaatiotietokantoja
- Käsitteellinen mallintaminen (ER-kaaviot), mallin transformointi, SQL ja normalisointi
- Tutustutaan tiedonhallintaan tietojärjestelmissä
- Tietovarastoinnin periaatteet, hajautus, katsaus muihin tietokantamalleihin
Jakson lopuksi opiskelija
osaa selittää tiedonhallintaan ja tietokannanhallintajärjestelmiin liittyvien keskeisten käsitteiden, periaatteiden ja toimintojen merkityksen;
osaa soveltaa ER-mallia käsitteellisessä mallintamisessa ja ymmärtää mikä rooli käsitteellisillä malleilla on tietoarkkitehtuureissa;
osaa soveltaa relaatiomallin käsitteitä ja transformoida ER-kaavion relaatiotietokannan kaavaksi; osaa soveltaa SQL:ää taulujen ja valtuutusten määrittämiseksi ja perusoperaatioiden (create, read, update, delete) suorittamiseksi;
osaa normalisoida relaatiot neljänteen normaalimuotoon; osaa selittää tyypilliset samanaikaisten tapahtumien ongelmat, tapahtumalta vaaditut ominaisuudet, eristyvyystasot sekä lukitustavat ja niiden merkityksen tapahtumien ajoitukselle;
osaa kuvailla tietovarastoinnin periaatteet, arkkitehtuurin, toiminnot ja hyödyt sekä soveltaa tähti- ja lumihiutalemallia;
osaa selittää tietokantoihin liittyviä rinnakkaisarkkitehtuureita ja hajautustekniikoita;
tietää tiedonhallinnan ja tietokantojen uusista periaatteista ja paradigmoista ja osaa vertailla niitä perinteisiin malleihin.
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.