Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Databasen I Oversikt, noder og egenskaper. Designmål XML-lignende struktur Utvidbarhet Aktivitet fra mange brukere Ingen eier data Gjenbruk av data.

Liknende presentasjoner


Presentasjon om: "Databasen I Oversikt, noder og egenskaper. Designmål XML-lignende struktur Utvidbarhet Aktivitet fra mange brukere Ingen eier data Gjenbruk av data."— Utskrift av presentasjonen:

1 Databasen I Oversikt, noder og egenskaper

2 Designmål XML-lignende struktur Utvidbarhet Aktivitet fra mange brukere Ingen eier data Gjenbruk av data

3 Musicbrainz Henter data fra eksisterende DB 1.5 millioner registrerte lydspor Innlagt av brukere  Mye ”feil” Spor: Tittel Versjonsinfo: Live, remix, instrumental, akustisk, radio edit. Tempo for et fåtall Årstall for et fåtall Genre for et fåtall Popularitet Lengde I album: Release (dato, land), albumtype, spornummer Prosjekt (artist): Tittel, sorteringstittel http://www.musicbrainz.org/

4 At a glance Består av noder (spor, artister, osv) Noder har egenskaper (metadata) Brukere og grupper (communities) Brukere stemmer på metadata (passer/stemmer metadataene?) Brukere kommenterer stemmer. Brukere melder noder inn i communities Brukere tagger noder. “Blå”, “Fart”, “Krig”. Brukere ser på eller besøker noder.

5 Lab’er om databasen 1. DBI: Oversikt, noder og egenskaper 2. DBII: Sesjoner og leseeksempler 3. DBIII: Nodekoblinger og tags 4. DBIV: Stemmer og kommentarer

6

7 Noder Informasjonsenheter. Tillater at samme type egenskaper brukes på forskjellige typer noder. Tabellen node: nodeid – Id’en til denne noden nodetype – Denne nodens type usrid, communityid, registered – Når og hvem som la inn denne noden. Nodetyper: Spor (track, 't') Artister (project, 'p') Sporlister (track list, 'l') Bokser (box, 'b') Brukere (user, 'u') Grupper (comunity, 'c') Genre ('g') Tag ('a') Entitet (entity, 'e')

8 Tabeller: node PK: nodeid FK: usrid, communityid

9 SQL: node Hent alle noder som er spor: SELECT * FROM node WHERE nodetype = ’t’ Resultat: Et par millioner rader…?

10 Rader: node Node nodeidnodetypeusridcommunityidregistered 123t234345May 17… ……………

11 XML: node <node nodeid=”123” nodetype=”t” usrid=”234” communityid=”345” registered=”May 17 2004 08:13PM”/>

12 Noder 2 Tracks, projects, lists, etc Nodes Name, length, links, musical qualities, relationships, etc Metadata/properties

13 Metadatatyper Finnes en ordliste over lovlige metadatatyper i databasen. Tabellen proptype: proptypeid – Id’en til metadatatypen (PK) name – Navnet til metadatatypen (En del kolonner til, mer senere)

14 Tabeller: proptype (forenklet) PK: id

15 Tabeller: proptype (forenklet) proptype proptypeididname… 234label-name… 345track-length… 456intensive-guitar…

16 Koble metadatatyper til noder Kobling mellom node og proptype Tabellen property propid – Id’en til denne egenskapen (PK) nodeid – Id’en til noden egenskapen er knyttet til. nodetype – Typen node proptypeid – Id’en til egenskapstypen egenskapen har. usrid, communityid, registered – Info om når og hvem egenskapen ble opprettet av

17 Tabeller: property

18 SQL: property Alle egenskaper for en gitt node: SELECT * FROM property WHERE nodeid = 123

19 Rader: property propidnodeidnodetypeproptypeidusridcommunityidregistered 456123t234 345May 17… 502123t345234345May 17… 592123t456234345May 17… property

20 SQL: node-property-proptype Hent alle egenskaper for en gitt node, med navn på egenskapstypen. SELECT propid, proptypeid, name FROM property, proptype WHERE nodeid = 123 AND property.proptypeid = proptype.proptypeid

21 Rader: Egenskaper for node 123 propidproptypeidname 456234label-name 502345track-length 592456intensive-guitar

22 Mer om egenskaper Egenskaper (properties) er metadata om en node Viser til en metadatatype (fra proptype) To typer egenskaper: Properties: “Boolske”, tilstede eller ikke. Eks: medium-genre-cd - Er sporlisten en CD? recording-live - Er sporet tatt opp live? Attributes: Tar verdi som parameter. Eks: label-name (tekststreng) - Nodens navn member-community (nodereferanse) - Er noden medlem av et community? Implementert som et arveforhold: Attribute er en spesialisering (subtype/subklasse) av property

23 Attributter Egenskaper som tar en verdi. Kopieres fra property. Tabellen attribute (forenklet): Alle felter fra property: propid, nodeid, nodetype, proptypeid Minus: usrid, communityid, registered. NB! value – Generell strengverdi number - Tallverdi url - URL-verdi datetime - Datoverdi ref – Referanse til annen node.

24 Tabeller: node-property-attribute (forenklet)

25 Koblinger: node-property node PK: nodeid property: PK: propid FK: nodeid (node) proptypeid (proptype) attribute Arver alt (nesten) fra property proptype PK: proptypeid

26 Rader: node- property/attribute propidnodeidnodetypeproptypeidvalue… 456123t567Another…… ……………… attribute proptypeidnamevaluenumber… 567label-name10… …………… proptype

27 XML: Noder og egenskaper <node nodeid=”123” nodetype=”t” usrid=”234” communityid=”345” registered=”May 17 2004 08:13PM”> <attribute propid=”456” proptypeid=”567” value=”Another brick in the wall”/> … … …

28 Mer om egenskapstyper Metadatatyper befinner seg i proptype “Ordliste” for gyldige metadatatyper. Inndelt i hierarkier Generalisert og spesialisert, supertyper og subtyper Eks på et hierarki: instrumentation-acoustic instrumentation-acoustic-strings instrumentation-acoustic-horns instrumentation-acoustic-keys Muliggjør: Spørringer over hele hierarkier. Hierarkiene ligger sortert i proptype En stemme på en subtype er også en stemme på dens supertype.

29 Spesialtabeller Noen egenskaper er ofte brukt, derfor duplisert i egne tabeller: Noders navn: (egenskap) label-name  (tabell) name Noders skapere: creator-performer  creator Spor i sporsamlinger: tracklist-item  tracklistitem Tags på noder: member-tag  tag Muliggjør: Lettere oppslag med SQL Mindre ressursbruk

30 Tabeller: creator, name, tracklistitem, tag

31 SQL-eksempler /* Navnet til en vilkårlig node */ SELECT name FROM name WHERE nodeid = 123; /* Navnet til en liste et spor forekommer på*/ SELECT name FROM name, tracklistitem WHERE tracklistitem.trackid = 123 AND tracklistitem.nodeid = name.nodeid;

32 Hjemmelekse Finn nodeid’en til alle spor med navnet ’Another brick in the wall’. (name) Finn alle egenskapene, med navn på type, til en av nodene over. (name, property, proptype) Finn ut hva en JOIN er. Finn alle spor, med navn, som forekommer på skiva ’Venus, Texas’. (name, tracklistitem) Vanskelighet: Bare ett query! Tips: Tabeller kan gis alias og opptre flere ganger. Finn artisten, med navn, bak en av nodene med navnet ’Sweet home Alabama’. (name, creator) Vanskelighet: Bare ett query! Oppfør dere pent. Ta med et eple til labansvarlig.

33 Ukas kulturelle innslag “We don’t need no education. We don’t need no thought control. No dark sarcasm in the classroom. Teacher, leave them kids alone!” - Another brick in the Wall, Pink Floyd


Laste ned ppt "Databasen I Oversikt, noder og egenskaper. Designmål XML-lignende struktur Utvidbarhet Aktivitet fra mange brukere Ingen eier data Gjenbruk av data."

Liknende presentasjoner


Annonser fra Google