Coder Social home page Coder Social logo

676632 / hvl-dat107-databaser Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lasjen/hvl-dat107-databaser

0.0 0.0 0.0 0 B

Eksempler for NoSQL delen av DAT107 - databaser ved Høgskolen på Vestlandet

Shell 5.76% Java 36.33% XQuery 6.42% XSLT 51.49%

hvl-dat107-databaser's Introduction

hvl-dat107-databaser

Eksempler for NoSQL delen av DAT107 - databaser ved Høgskolen på Vestlandet.

Del 1 - Mappen: sql_intro

Mappen "sql_intro" inneholder eksempler på XML-filer (personer*.xml), XML Schema (personer*.xsd), og stilark (personer*.xsl).

Øvinge: Åpne et program/applikasjon som har funksjonalitet for å validere et XML dokument, f.eks. Eclipse, Visual Studio Code og/eller IntelliJ JetBrain.

Prøv å bryte reglene for et "velformet" XML dokument, og se hvordan applikasjonen håndterer dette (viktig at XML-en du jobber med er lagret med filformat .xml for at applikasjonen som du benytter skal vite hvilket type dokument du jobber med).

Se om det programmet du benytter har funksjonalitet for å validere om ditt xml-dokument er gyldig (NB! De ulike xml-filene i denne mappen er knyttet til ulike XML Schema definisjoner/filer).

XML Schema

Fil: personer.xml (schema: personer.xsd)

Denne filen er knyttet til schema definert i "personer.xsd". Se om du finner funksjonalitet i din editor, og se om den har funksjonalitet for å automatisk generere en XML Schema fil ut fra "personer.xml" filen (overskriv gjerne personer.xsd).

Fil: personer2.xml (schema: personer_fixed.xsd)

I denne XML-filen er "pnr" et ELEMENT under "person" elementet. Denne filen er knyttet til schema definert i "personer_fixed.xsd".

Fil: personer3.xml (schema: personer_fixed2.xsd)

Her har vi gjort om "pnr" til et ATTRIBUTT til "person" elementet. Samt at vi har definert "pnr" attributet som UNIKT for alle personer (Se filen "personer_fixed2.xsd"

XML stilark (XSLT)

Fil: personer4.xml (stilark: personer.xsl)

Åpne denne XML-filen i en browser (f.eks. Chrome), og se hvordan XML data transformeres til HTML, og presenteres i din browser.

Fil: personer5.xml (stilark: personer-table.xsl)

Åpne denne XML-filen i en browser (f.eks. Chrome), og se hvordan XML data transformeres til HTML, og presenteres i din browser. Her skal alle personene nå bli presentert i en tabell. Prøv å endre stilarket til å kun liste ut de personene med barn (barn>0). Legg til en person til med barn, og se at tabellen endrer seg (etter en REFRESH).

Del 2 - XML Types og Postgres

Filer: /sql/xml/*

Her må du benytte kontoen du har mot PostgreSQL databasen ved HVL.

Bruk f.eks. pgAdmin til å kjøre SQL-ene (eventuelt et annet verktøy). Jeg opprettet en database kobling direkte fra IntelliJ. Dette skal være mulig også med Eclipse.

XML Type og XPath

Fil: 01_create_table_xml_personer.sql

Kjør disse kommandoene for å slette og opprette PERSONER tabellen på nytt.

Fil: 02_insert_data_xml_personer.sql

Kjør disse kommandoene for å legge inn data.

Fil: 03_select_data_xml_personer.sql

Test og modifiser de ulike SQL-ene for å bli kjent med de ulike funksjonalitetene rundt XML type og XPath i PostgreSQL.

Del 3: Generer XML data fra relasjons tabeller

Filer: /rdbms/*

Fil: 11_create_table_personer.sql

Kjør script for å generer PERSONER tabell (relasjonell modell).

Fil: 12_insert_table_personer.sql

Kjør skript for å legge til data i PERSONER tabell.

Fil: 13_select_data_personer_xml.sql

Test og modifiser de ulike SQL-ene for å bli kjent med de ulike funksjonalitetene rundt funksjonalitet for å generer XML data fra relasjons tabeller.

Fil: 14_select_data_personer_json.sql

Test og modifiser de ulike SQL-ene for å bli kjent med de ulike funksjonalitetene rundt funksjonalitet for å generer JSON data fra relasjons tabeller.

Del 3 - XQuery

Denne er ikke så veldig viktig, men gir en liten forståelse for hva XQuery er.

Se på filene:

  • personer.xml
  • personer.xqy
  • XQueryTester.java
  • run.sh

For at dette skal fungere, må du laste ned Saxon (Link: https://github.com/Saxonica/Saxon-HE/blob/main/12/Java/SaxonHE12-4J.zip) Se hvilke filer du trenger i classpath i run.sh, og endre run.sh til å peke mot dine JAR-filer.

Kjør "sh run.sh" (eventuelt kopier og kjør kommando direkte i Windows).

Del 4 - JSON

Filer: /json/*

Denne følger samme mal som filene under /xml (se del 2 over).

hvl-dat107-databaser's People

Contributors

lasjen avatar lassejenssen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.