Databaser Chapter Six Overview • SECTION 6.1 – DATABASE FUNDAMENTALS – Understanding Information – Database Fundamentals – Database Advantages – Relational Database Fundamentals – Database Management Systems – Integrating Data Among Multiple Databases • SECTION 6.2 – DATA WARAEHOUSE FUNDAMENTALS – Accessing Organizational Information – History of Data Warehousing – Data Warehouse Fundamentals – Business Intelligence – Data Mining ITO 07-06-13 Bild 6-1 Understanding information • Information is everywhere in an organization • Employees must be able to obtain and analyze the many different levels, formats, and granularities of organizational information to make decisions • Successfully collecting, compiling, sorting, and analyzing information can provide tremendous insight into how an organization is performing Kunskap och information har ett värde Kostnad för att byta ut en skruv 1.101 kr Skruven 1 kr Arbetskostnad 100 kr Kunskap och information om arbetet 1.000 kr ITO 07-06-13 Bild 6-2 Understanding information • Information granularity – refers to the extent of detail within the information (fine and detailed or coarse and abstract) – Levels – Formats – Granularities ITO 07-06-13 Bild 6-3 Information Quality • Business decisions are only as good as the quality of the information used to make the decisions • Characteristics of high quality information include: – Accuracy Korrekt? – Completeness Saknas något? – Consistency Hänger det ihop? Är det logiskt? – Uniqueness Dubellagrar vi information? Kan vi komma åt information direkt? – TimelinessÄr informationen aktuell? + Är informationen spårbar ITO 07-06-13 Bild 6-4 Information Quality • Low quality information example ITO 07-06-13 Bild 6-5 Understanding the Costs of Poor Information • The four primary sources of low quality information include: 1. Online customers intentionally enter inaccurate information to protect their privacy 2. Information from different systems have different entry standards and formats 3. Call center operators enter abbreviated or erroneous information by accident or to save time 4. Third party and external information contains inconsistencies, inaccuracies, and errors ITO 07-06-13 Bild 6-6 Understanding the Costs of Poor Information • Potential business effects resulting from low quality information include: – Inability to accurately track customers – Difficulty identifying valuable customers – Inability to identify selling opportunities – Marketing to nonexistent customers – Difficulty tracking revenue due to inaccurate invoices – Inability to build strong customer relationships ITO 07-06-13 Bild 6-7 Konceptuell modellering • • • • Objekt Relationer Egenskap Entiteter ITO 07-06-13 Bild 6-8 Objekt Intressanta företeelser Konkreta Abstrakta 7 Icke existerande • Evighetsmaskin • Cirkelns kvadratur ITO 07-06-13 Bild 6-9 Relationer • Relationer beskriver samband mellan objekt Har_far äger Gift_med Har_mor ITO 07-06-13 Bild 6-10 Mängder/klasser & Attribut • Gruppering av • liknande objekt reg. no model year colour name age salary hair colour ITO 07-06-13 Bild 6-11 Example Conceptual Model married to PERSON name age salary hair colour CAR owns reg.no. model year colour ITO 07-06-13 Bild 6-12 Tabeller/filer och databaser Kolumn (Attribute, field, fält) Artiklar Tabell (Register, File, Fil) Art.nr Namn Pris LagerAntal 1 2 3 Skruv Mutter Bricka 1.50 1.20 0.50 1.000 300 850 Rad (Record, Post) DATABAS = Alla tab. Och relationer LEVERERAR BESTÅR-AV ARTIKLAR INGÅR -I LEVERANTÖRER ORDER Operationer från program Ny artikel (4, Spik, 0.70, 0) Nytt pris (1, 1.60) Antal i lager (2) Ta bort (3) Vilka artiklar har kund nr 51 köpt det senaste året ? HAR KUNDER ITO 07-06-13 Bild 6-13 Olika typer av tabeller REGISTER ANVÄNDNING PERSON löneberäkning KUND fakturering ARTIKEL lagerhållning fakturering BOKNINGS tid- och platsbokning LÄKEMEDELS recept ITO 07-06-13 Bild 6-14 Nyckel/ Primary Key Unikt sökbegrepp i ett register: Primärnyckel, ID-begrepp EX Personnummer i ett personregister: PersNr, Namn, Adress, Lön Kundnummer i ett kundregister: KundNr, Namn, Rabatt, Kategori Undvik klassificerande ID-begrepp De spricker ofta ex xxxxx xx xxx Typ av sko Storlek Vilken bonus har jag ? Färgkod Vilket är Ditt försäkringsnummer ?? ITO 07-06-13 Bild 6-15 En övning GUTE CYKELUTHYRNING på soliga Gotland har4.500 cyklar till uthyrning. Administrationen har har blivit så betungande att man beslutat att anskaffa en PC. Vi skall nu konstruera systemet åt dem. Vi börjar med databasen. Det grundläggande är att varje cykel har ett ingraverat ramnummer. I samband med uthyrning betalar man en depositionsavgift som varierar mellan olika cyklar. Vid återlämningen skall systemet skriva ut ett specificerat kvitto. Kostnaden är cykelns dagspris gånger antalet dagar. Naturligtvis skall cykelregistret uppdateras vid exempelvis nyanskaffning. Två listor skall kunna tas fram: 1. Cyklar som just nu är uthyrda. Skall framgå vem som hyr. 2. En totallista över samtliga cyklar som skall uppta anskaffningsår och hur många dagar den totalt varit uthyrd sen anskaffningen. UPPGIFT: Gör en postbeskrivning för cykelregistret, vilket skall vara det enda förekommande registret. ITO 07-06-13 Bild 6-16 Relationer i en databas Fall 1 (ett till ett) En fastighet kan bara ägas av en person och en person kan bara äga en fastighet person PNR ** NAMN ADRESS FNR* fastighet FNR ** KOMMUN PRIS PNR* Fall 2 (ett till många) En person kan äga fler fastigheter men en fastighet kan bara ha en ägare person PNR ** NAMN ADRESS fastighet FNR ** KOMMUN PRIS PNR* Fall 3 (många till många) En person kan äga fler fastigheter och en fastighet kan ha fler delägare person PNR ** NAMN ADRESS fastighet FNR ** KOMMUN PRIS ** Primärnyckel * Sekundärnyckel, referens ITO 07-06-13 Bild 6-17 Exempel på relationer 1 - M ** ** * PNR NAMN ADR FNR KOMMUN PRIS PNR 1 KALLE PELLE NISSE ULLA A-GATAN B-GATAN C-GATAN D-GATAN A B C D 1.000 1 2.000 1.500 1 5.000 4 2 3 4 PERSON STHLM GBG MALMÖ LUND FASTIGHET ITO 07-06-13 Bild 6-18 M - M kräver ett relationsobjekt person PNR ** NAMN ADRESS 1 2 3 4 KALLE PELLE NISSE ULLA ägarförhållande PNR* FNR* % ANDEL A-Gatan. B-Gatan C-Gatan D-Gatan 1 A 100 1 D 50 4 D 50 fastighet FNR ** KOMMUN PRIS A STHLM 1.000 B GBG 2.000 C MALMÖ 1.000 D LUND 2.000 Kalle äger hela A och halva D Ulla äger halva D ITO 07-06-13 Bild 6-19 Kopplingstabell - Ytterligare ett exempel Företag Person Pnr Namn 1 2 3 4 Kalle Pelle Stina Lisa Fnr Namn A B C D ABB HM Univ. Ericsson Anställning Person Pnr Fnr Lön Pnr Namn 1 2 3 4 Kalle Pelle Stina Lisa 1 2 1 3 A A B C 10.000 20.000 30.000 15.000 Företag Namn Adress A B C D ABB HM Univ. Ericsson LÖN ???? ITO 07-06-13 Bild 6-20 Increased Flexibility • A well-designed database should: – Handle changes quickly and easily – Provide users with different views – Have only one physical view • Physical view – deals with the physical storage of information on a storage device – Have multiple logical views • Logical view – focuses on how users logically access information ITO 07-06-13 Bild 6-21 Increased Scalability and Performance • A database must scale to meet increased demand, while maintaining acceptable performance levels – Scalability – refers to how well a system can adapt to increased demands – Performance – measures how quickly a system performs a certain process or transaction ITO 07-06-13 Bild 6-22 Reduced Redundancy • Databases reduce information redundancy – Redundancy – the duplication of information or storing the same information in multiple places • Inconsistency is one of the primary problems with redundant information ITO 07-06-13 Bild 6-23 Increased Security • Information is an organizational asset and must be protected • Databases offer several security features including: – Password – provides authentication of the user – Access level – determines who has access to the different types of information – Access control – determines types of user access, such as read-only access ITO 07-06-13 Bild 6-24 Potential relational database for CocaCola Primary Key Foreign Key ITO 07-06-13 Bild 6-25 Operationer mot ett register Ad Hoc eller fördefinierade frågor LÄSA EN ELLER FLER POSTER Pull SELEKTERA FÖRSÄKRINGAR FÖRSNR 7 ALLA FÖRSÄKRINGAR Hastighetsmätare ALLA ARTIKLAR SOM BÖRJAR PÅ S 1 SKRUV 5 SKIVA NY KUND TA BORT KUND ADRESSÄNDRING MATCHA Push Motor UPPDATERA/ AKTUALISERA SORTERA NR ART NR ART 1 SKRUV 4 BRÄDA 2 MUTTER 2 MUTTER 3 VINKEL 5 SKIVA 4 BRÄDA 1 SKRUV 5 SKIVA 3 VINKEL PERS.REG F-KASSA PERS.REG BOSTADSBIDRAG JFR INKOMST UPPGIFTER ITO 07-06-13 Bild 6-26 Database management systems • Database management systems (DBMS) – software through which users and application programs interact with a database ITO 07-06-13 Bild 6-27 Database management systems • Four components of a DBMS ITO 07-06-13 Bild 6-28 Data Definition Component • Data dictionary essentially defines the logical properties of the information that the database contains ITO 07-06-13 Bild 6-29 Data Manipulation Component • Data manipulation component – allows users to create, read, update, and delete information in a database • A DBMS contains several data manipulation tools: – View – allows users to see, change, sort, and query the database content – Report generator – users can define report formats – Query-by-example (QBE) – users can graphically design the answers to specific questions – Structured query language (SQL) – query language ITO 07-06-13 Bild 6-30 Data Manipulation Component • Sample report using Microsoft Access Report Generator ITO 07-06-13 Bild 6-31 Data Manipulation Component • Sample report using Access Query-By-Example (QBE) tool ITO 07-06-13 Bild 6-32 Data Manipulation Component • Results from the query in Figure 6.10 ITO 07-06-13 Bild 6-33 SQL Structured Query Language Kommandon i program som används för data- åtkomst & manipulation Lägga in ny data INSERT person Ändra data UPDATE adress Radera data DELETE person Hämta data SELECT alla personer som är födda i Vingåker och som varit stadsministrar mfl ITO 07-06-13 Bild 6-34 SQL-exempel INSERT INTO Medlem (medlemsnr, fnamn, enamn, gadr, lön) VALUES (10004, ’Anna’, ’Andersson’, ’Kungsgatan 3’, ’40.000’); SELECT fnamn, enamn FROM Medlem WHERE lön > 1.000.000 ; DELETE Medlem WHERE medlemsnr = 10005; UPDATE Medlem SET gadr = ’Byggvägen 3’ WHERE medlemsnr = 10004; ITO 07-06-13 Bild 6-35 SQL – lite mer avancerat KUND-TABELL KundNr KundNamn KundKategori ORDER-TABELL OrderNr KundNr OrderBelopp SELECT KUNDNAMN, ORDERNR FROM KUND-TABELL, ORDER-TABELL WHERE ORDERBELOPP > 10.000 AND KUNDKATEGORI = 7 OR 11 <--- villkor AND KUND-TABELL.KundNr = ORDER-TABELL.KundNr <--- join SORT BY KUNDNAMN Resulterar i KundNamnn Abelén Adolfsson Bengtsson ……….. OrderNr 4711 193 10.023 ITO 07-06-13 Bild 6-36 Application Generation and Data Administration Components • Application generation component – includes tools for creating visually appealing and easy-to-use applications • Data administration component – provides tools for managing the overall database environment by providing faculties for backup, recovery, security, and performance • IT specialists primarily use these components ITO 07-06-13 Bild 6-37 Integrating data among multiple databases • Integration – allows separate systems to communicate directly with each other – Forward integration – takes information entered into a given system and sends it automatically to all downstream systems and processes – Backward integration – takes information entered into a given system and sends it automatically to all upstream systems and processes ITO 07-06-13 Bild 6-38 Integrating data among multiple databases • Forward and backward integration ITO 07-06-13 Bild 6-39 Integrating data among multiple databases • Building a central repository specifically for integrated information ITO 07-06-13 Bild 6-40 Att integrera system Företag A Regler System B1 System A1 Logg System A2 System B2 System A3 System B3 Systeminegrator Företag B Format Tidpunkter Regler/Kontroller Historik Backup m.m. System C1 Företag C System C2 Istället för att bygga om de olika systemen ITO 07-06-13 Bild 6-41 Övning i datamodellering FAKTURA BILVERKSTADEN AB uppdrag-nr 1 kund-nr 2 adress O-gatan namn Olle faktnr 2453 regnr ABC123 datum 95-01-10 Arbeten (Fördefinierade) Nr A1 Namn Byta avgasrör Antal Á-pris 1.000 kr 1 st Summa 1.ooo kr Material (Fördefinierade) Nr M1 M2 M3 M4 Namn Avgasrör Fäste Skruv Mutter Á-pris 500 kr 10 kr 1 kr 2 kr Antal 1 st 2 st 4 st 4 st Summa 500 kr 20 kr 4 kr 8 kr summa 532 kr moms 133 kr att betala 1.665 kr Gör en datamodell för denna verksamhet ITO 07-06-13 Bild 6-42 Lösning KUND KNR** NAMN ADRESS 1 ARBETEN I UPPDRAG UNR* ANR* ANTAL M 1 ARBETEN ANR** NAMN À-PRIS M 1 M UPPDRAG UNR** KNR* DATUM REGNR FAKTNR MATERIAL MNR** NAMN À-PRIS 1 1 M M MATERIAL I UPPDRAG UNR* MNR* ANTAL ITO 07-06-13 Bild 6-43 Lösning, forts KUND KNR 1 2 3 4 5 NAMN KALLE OLLE ULLA SIV INGVAR ADRESS K-GATAN O-GATAM U-GATAN S-GATAN I-GATAN UPPDRAG UNR 001 002 KNR 2 4 DATUM 950110 950111 ARBETEN ANR A1 A2 A3 A4 NAMN BYTA AVGASRÖR BYTA TÄNDSTIFT SERVICE MOTORTVÄTT REGNR ABC123 XYZ789 FAKTNR 2453 2454 Á-PRIS 1.000 200 1.500 600 ITO 07-06-13 Bild 6-44 Lösning, forts MATER MNR M1 M2 M3 M4 M5 M6 NAMN AVGASRÖR FÄSTE SKRUV MUTTER TÄNDSTIFT TVÄTTMEDEL ARBETEN I UPPDR. UNR 001 002 ANR A1 A4 ANTAL 1 1 MATR I UPPDR UNR 001 001 001 001 002 MNR M1 M2 M3 M4 M6 ANTAL 1 2 4 4 1 Á-PRISD 500 10 1 2 10 100 ITO 07-06-13 Bild 6-45 6.2. DATA WAREHOUSE FUNDAMENTALS • Data warehouses extend the transformation of data into information • In the 1990’s executives became less concerned with the day-to-day business operations and more concerned with overall business functions • The data warehouse provided the ability to support decision making without disrupting the day-to-day operations ITO 07-06-13 Bild 6-46 Data warehouse fundamentals • Data warehouse – a logical collection of information – gathered from many different operational databases – that supports business analysis activities and decision-making tasks • The primary purpose of a data warehouse is to aggregate information throughout an organization into a single repository for decision-making purposes ITO 07-06-13 Bild 6-47 Data Warehouse ITO 07-06-13 Bild 6-48 Data warehouse fundamentals • Extraction, transformation, and loading (ETL) – a process that extracts information from internal and external databases, transforms the information using a common set of enterprise definitions, and loads the information into a data warehouse • Data mart – contains a subset of data warehouse information ITO 07-06-13 Bild 6-49 Data warehouse fundamentals ITO 07-06-13 Bild 6-50 Multidimensional Analysis • Cube – common term for the representation of multidimensional information ITO 07-06-13 Bild 6-51 Information Cleansing or Scrubbing ITO 07-06-13 Bild 6-52 Multidimensional Analysis • Data mining – the process of analyzing data to extract information not offered by the raw data alone • To perform data mining users need data-mining tools – Data-mining tool – uses a variety of techniques to find patterns and relationships in large volumes of information and infers rules that predict future behavior and guide decision making ITO 07-06-13 Bild 6-53 Business intelligence • Business intelligence – information that people use to support their decision-making efforts • Principle BI enablers include: – Technology – People – Culture ITO 07-06-13 Bild 6-54 Data mining • Common forms of data-mining analysis capabilities include: – Cluster analysis – Association detection – Statistical analysis ITO 07-06-13 Bild 6-55 Cluster Analysis • Cluster analysis – a technique used to divide an information set into mutually exclusive groups such that the members of each group are as close together as possible to one another and the different groups are as far apart as possible • CRM systems depend on cluster analysis to segment customer information and identify behavioral traits ITO 07-06-13 Bild 6-56 Association Detection • Association detection – reveals the degree to which variables are related and the nature and frequency of these relationships in the information – Market basket analysis – analyzes such items as Web sites and checkout scanner information to detect customers’ buying behavior and predict future behavior by identifying affinities among customers’ choices of products and services ITO 07-06-13 Bild 6-57 Statistical Analysis • Statistical analysis – performs such functions as information correlations, distributions, calculations, and variance analysis – Forecast – predictions made on the basis of time-series information – Time-series information – time-stamped information collected at a particular frequency ITO 07-06-13 Bild 6-58