Hey, ich schreibe morgen eine Klausur und habe mir selbst zum Aufschrieb Fragen und dementsprechend Antworten überlegt. Kann da mal jemand mit Ahnung drüberschauen und mir meine Fehler sagen?
Code
- 1. Was ist ein Prepared Statement?
- Ein Prepared Statement ist eine SQL Anweisung, die in der Datenbank abgespeichert ist. Sie wird verwendet, wenn SQL Statements oft mit wechselnden Parametern verwendet werden.
- 2. Was ist der Unterschied zwischen einer Stored Procedure und einer Stored Function?
- Eine Stored Function hat einen Return-Wert, eine Stored Procedure nicht.
- 3. Was ist ein Trigger?
- Ein Trigger ist eine spezielle Stored Procedure, die in der Datenbank abgespeichert ist und von der Datenbank nach einem Ereignis aufgerufen wird. Ein Ereignis kann sein: Insert, Update, Delete.
- 4. Was ist der Unterschied zwischen statischem und dynamischen SQL?
- Bei statischem SQL werden die Statements bereits beim Kompilieren des Quellcodes überprüft, somit sind weniger Syntaxfehler möglich. Bei dynamischem SQL werden die Statements zur Laufzeit erstellt.
- 5. Kann in einem Trigger auf alte und neue Werte zugegriffen werden und falls ja wie?
- Ja, mit old.NAME und new.NAME
- 6. Wie groß ist der Aktionsradius eines Triggers?
- Ein Trigger arbeitet immer auf einer Tabelle.
- 7. Welche Befehle gibt es in der Data Control Language (DCL)?
- GRANT, REVOKE
- 8. Worauf ist beim Vergeben von Rechten zu achten?
- Wenn transitiv Rechte vergeben werden, darf der Grantee die Rechte weitervergeben.
- 9. Welche Sicherheit gibt eine View, welche nicht?
- Eine View gibt die Möglichkeit, Spalten einer Tabelle auszublenden bzw. Eine Tabelle mit speziell zugeschnittenem Inhalt zu erstellen. Dies gibt Sicherheit im Sinne des Datenschutzes. Jedoch schlägt eine Änderung in der View auf die Originaldaten durch. Ein Delete in einer View löscht auch die Zeile(n) in der richtigen Tabelle.
- 10. Wofür darf ein normaler User Rechte vergeben?
- Für die Objekte, die er selbst erstellt hat.
- 11. Was ist eine Persistenzschicht?
- Eine Persistenzschicht kapselt den Zugriff auf die Daten hinter Methoden wie z.B. read(), write(). Der tatsächliche Zugriff auf die Daten geschieht unsichtbar für den Anwender.
- 12. Welche Elemente hat eine Persistenzschicht (aus dem Unterricht)?
- DAO (z.B. Broker), DTO (Datencontainer), Anwendung.
- 13. Was steht in den Elementen aus Frage 12?
- Im DTO werden die Daten zwischengespeichert, auf ihn kann von überall aus zugegriffen werden. Der DAO liest von der Datenbank und füllt den DTO. Die Anwendung liest aus dem DTO.
- 14. war ne skizze, hab ich rausgenommen
- 15. Zeichne einen Ablaufgraph zu folgendem Programmschnipsel:
- n1 For(int i = 0;i<10;i++){
- n2 Int Zahl = liesZahl();
- n3 If(Zahl < 10){
- n4 System.out.println(„Die Zahl ist „ + Zahl);
- }else{
- n5 I=Zahl;
- }
- }
- Siehe Bild: hangman.bplaced.net/Bilder/ablaufgraph.png
- 16. Welche Unterscheidungen gibt es bei Testverfahren (nenne zwei Unterscheidungen)
- dynamisch – statisch, black box – white box;
- 17. Nenne Beispiele für alle 4 Testverfahren
- Dynamisch: ist glaub ich gleich wie der black box test…
- Statisch: Pfadüberdeckung
- Black box: äquivalenzklassentest
- White box: Code Review
- 18. Welche Personengruppen testen ein Programm?
- Entwickler selbst, externe Experten, Anwender
- 19. Was ist eine Äquivalenzklasse
- Eine Äquivalenzklasse ist eine Zusammenfassung mehrerer Testfälle, die ein gleich kategorisierbares Ergebnis liefern. Sowohl gültige als auch ungültige Eingaben werden durch Äquivalenzklassen dargestellt.
- 20. Was ist ein Testfall?
- Ein Testfall ist ein kompletter Programmdurchlauf von Start bis Ende. Es werden alle anfallenden Eingaben angegeben und das erwartete Ergebnis.
- 21. Wieviele Äquivalenzklassen gibt es im Programm aus Frage 15? Welche?
- 1. Klasse: Zahl kleiner 10,
- 2. Klasse: Zahl gleich 10
- 3. Klasse: Zahl größer 10
- 22. Formuliere sinnvolle Testfälle für das Programm aus Frage 15 (mit erwartetem Ergebnis).
- Äquivalenzklassentest:
- 1. 3;15;10 [„Die Zahl ist 3“]
- Fehlererwartungstest:
- 1. ABC [Error]
- 2. 99999999999999999999999999999999999999999999999999999999999 [Out of Range]
- Grenzwerttest:
- 1. 9;11;10 [„Die Zahl ist 9“]
- 23. Was sollte jeder Entwickler testen?
- C1 Test (Zweigüberdeckung)
- 24. Was ist ein vollständiger Pfad?
- Ein vollständiger Pfad ist ein kompletter Programmdurchlauf vom Start- bis zum Endpunkt des Programms.
- 25. Was ist eine Metrik?
- Eine Metrik ist die Quantifizierung verschiedener Aspekte einer Software, z.B. der Komplexität. Durch subjektive Formeln wird der zu ermittelnde Aspekt in Zahlen transferiert.
- 26. Erläutere zwei Metriken.
- 1. Lines of Code, misst die Komplexität des Programms anhan der Länge.
- 2. Größe der Datei. Misst die Komplexität anhand der Dateigröße des Programms.
- 3. Vererbungstiefe, Komplexität wird gemessen in der Anzahl der Schritte im Vererbungsbaum