databaser Flashcards

1
Q

Beskriv vad relationsdatabaser är och hur data organiseras i dessa

A

Bra för strukturerat data i tabeller och fält/kolumner.
När varje post är lika som övriga poster i en tabell.
Har ofta relationer mellan olika tabeller.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ge exempel på några av de mest använda databasservrarna

A
Oracle
MySQL
Microsoft SQL server
Maria DB
Percona
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Namnge de vanligaste icke realtionsdatabaser/NoSQL

A

Mongo DB
Redis
(Apache)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ge exempel på situationer där andra typer av databaser kan vara lämpliga

A

NoSQL är bra för ostrukturerat data som dokument, poster med olika struktur(och molnbaserad data)
JSON liknande data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ange SQL kommandona

A

SELECT
INSERT
UPDATE
DELETE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

SELECT

A
SELECT 
FROM
WHERE (=, LIKE) (Kan vara subqueries)
GROUP BY
HAVING (Samma som WHERE men kan använda aggregerande funktioner)
ORDER BY (asc, desc)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

INSERT

A

INSERT INTO

VALUES ( )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

UPDATE

A

UPDATE
SET
WHERE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

DELETE

A

DELETE FROM

WHERE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

TRUNCATE

A

Tömmer tabellen (FARLIG)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Skillnaden mellan WHERE och HAVING

A

HAVING kan använda aggregerande funktioner. HAVING kan ej användas utan GROUP BY

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Aggregerande funktioner

A
Count( ) = antal
Min ( ) = minimum
Max ( ) = maximum
Sum ( ) = summan
Avg ( ) = medelvärde
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

ALIAS för fält och tabeller

A

gammalt namn AS nytt namn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

JOINS

A

A LEFT JOIN B (Outer join) = Allt från A och allt de delar
A RIGHT JOIN B (Outer join) = Allt från B och allt de delar
A FULL JOIN B (Full outer join) = Allt från A och B

A INNER JOIN B = Allt dom delar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Skapa en enkel databas med SQL som innehåller relationer

A

DROP DATABASE IF EXISTS x_database;
CREATE DATABASE x_database;
USE x_database;

CREATE TABLE x ( 
x_id INT NOT NULL AUTO_INCREMENT,
x_name VARCHAR (255) NOT NULL,
o_id INT NOT NULL,
PRIMARY KEY (x_id),
FOREIGN KEY (o_id) REFERENCES o (o_id)
);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Fyll databas med innehåll

A

INSERT INTO x (name, o_id)
VALUES
(‘xnamn’, 1),
(‘xextranamn’, 2);

17
Q

Ge exempel på olika datatyper i SQL och vad de motsvarar i java

A
JAVA   |    SQL
  int           INT
String   VARCHAR
String      TEXT
String      CHAR
double   DECIMAL
 float      DECIMAL
 Date        DATE
 byte       TINYINT
short      SMALLINT
 long        BIGINT
18
Q

Vad är JDBC?

A

Java Database Connectivity
JDBC är ett API för Java som definerar hur en klient når en databas. Ett API för att koppla och exekvera ett query med databasen.
Java app JDBC JDBC driver Database

19
Q

Vilka grund komponenter ingår i JDBC API

A

Connection - Interface med metoder för att kontakta databasen

Statement - Argumentet du vill att databasen ska ta emot

PreparedStatement - Argumentet du vill att databasen ska ta emot fast på ett säkrare sätt

ResultSet - Objektet som håller datan som hämtas från databasen efter ett statement har gjorts

20
Q

Beskriv vad som krävs för att använda JDBC och hur ett projekt sätts upp

A

Hämta connection till databasen via Drivern med hjälp av DriverManager och URL, användarnamn, lösenord.

Steps:

  1. Establish connection to a database
  2. Create Statement object
  3. Execute SQL query
  4. Proccess the ResultSet
21
Q

Vad är en ORM?

A

Object Relational Mapping - Konverterar data mellan relationsdatabaser och objektorienterat programmeringsspråk.

22
Q

Varför är ORM användbar?

A

Gömmer detaljer för SQL queries.

Gör så att man slipper skriva SQL kommandon själv.

23
Q

Redogör för Hibernate arkitekturen

A

Java app — Persistent object — Hibernate — JDBC — Database
Mappings = Java app, Persistent object
Configuration = Hibernate, JDBC, Database

Configuration —> Session Factory —> Session(Transaction) —> Query, Criteria

24
Q

Centrala klasser i Hibernate och vad dom bidrar med

A
  • javax.persistence.entity
  • javax.persistence.table
  • javax.persistence.id
  • javax.persistence.generatedValue
  • javax.persistence.column
  • javax.persistence.oneToMany