263 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			263 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html lang="de">
 | 
						|
		<meta charset="utf-8">
 | 
						|
 | 
						|
		<title>Einführung in Linux</title>
 | 
						|
 | 
						|
		<meta name="description" content="YALC - Yet Another Linux Course ">
 | 
						|
		<meta name="author" content="Daniel Schubert">
 | 
						|
 | 
						|
		<meta name="apple-mobile-web-app-capable" content="yes">
 | 
						|
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
 | 
						|
 | 
						|
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
 | 
						|
 | 
						|
		<link rel="stylesheet" href="css/reveal.css">
 | 
						|
		<link rel="stylesheet" href="css/theme/league.css" id="theme">
 | 
						|
		
 | 
						|
		<link rel="icon" href="img/openlogo-nd-25.png" type="img/png">
 | 
						|
 | 
						|
		<!-- Theme used for syntax highlighting of code -->
 | 
						|
		<link rel="stylesheet" href="lib/css/zenburn.css">
 | 
						|
 | 
						|
		<!-- Printing and PDF exports -->
 | 
						|
		<script>
 | 
						|
			var link = document.createElement( 'link' );
 | 
						|
			link.rel = 'stylesheet';
 | 
						|
			link.type = 'text/css';
 | 
						|
			link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
 | 
						|
			document.getElementsByTagName( 'head' )[0].appendChild( link );
 | 
						|
		</script>
 | 
						|
		<style type="text/css">
 | 
						|
			.reveal img{ max-height: 60vh}
 | 
						|
		</style>
 | 
						|
 | 
						|
	</head>
 | 
						|
 | 
						|
	<body>
 | 
						|
		<div class="reveal">
 | 
						|
			<!-- Any section element inside of this container is displayed as a slide -->
 | 
						|
			<div class="slides">
 | 
						|
 | 
						|
				<section data-transition="slide" data-background="#4d7e65" data-background-transition="zoom">
 | 
						|
					<h1>LINUX</h1>
 | 
						|
					<h3>Das universelle Betriebssystem</h3>
 | 
						|
					<p>Eine Einführung - Teil 14
 | 
						|
					<p> <small>Deutsche Angestellten Akademie</small> </p>
 | 
						|
					<aside class="notes">
 | 
						|
						Frage: Fragen zur letzten Stunde?
 | 
						|
					</aside>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section  data-transition="slide" data-background="#b5533c" data-background-transition="convex"> <h3>lampp stack</h3> </section>
 | 
						|
 | 
						|
				
 | 
						|
				<section>
 | 
						|
					<pre><code class="bash">~$ sudo apt install apache2 mysql-server phpmyadmin</code></pre>
 | 
						|
 | 
						|
					<pre><code class="bash">~$ mysql -u root -p
 | 
						|
MariaDB [(none)]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'some_very_complex_password';
 | 
						|
MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; FLUSH PRIVILEGES;
 | 
						|
MariaDB [(none)]> \q
 | 
						|
</code></pre>
 | 
						|
 | 
						|
					<ul>
 | 
						|
						<li class="fragment ">http://localhost/phpmyadmin</li>
 | 
						|
						<li class="fragment ">user: phpmyadmin</li>
 | 
						|
						<li class="fragment ">http://localhost/phpmyadmin</li>
 | 
						|
 | 
						|
					</ul>
 | 
						|
				</section>
 | 
						|
 | 
						|
 | 
						|
				<section>
 | 
						|
					<h3>mysql</h3>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					mysql ist eine „relationale Datenbank”
 | 
						|
					<p><cite> Relationale Datenbanken versuchen die Realität in einem Datenmodell abzubilden.</cite>
 | 
						|
					<ul>
 | 
						|
						<li>Jede Zeile einer Tabelle ist ein Datensatz</li>
 | 
						|
						<li>Jede Zeile ( Tupel ) besteht aus Attributen ( die Spalten )</li>
 | 
						|
						<li>Über Primärschlüssel werden Beziehungen hergestellt</li>
 | 
						|
						<li>Eine Datenbank kann viele Tabellen beinhalten</li>
 | 
						|
					</ul>
 | 
						|
					<img src="img/relationales_datenbankmodell_beispiel.jpg">
 | 
						|
					<p><small style="font-size:.4em">Quelle: http://www.datenbanken-verstehen.de/datenbank-grundlagen/datenbankmodell/relationales-datenbankmodell/</small>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					<h4>Normalisierung</h4>
 | 
						|
 | 
						|
					Aufteilung der Attribute (Spalten) in mehrere Relationen ( Tabellen ), so dass eine Form ohne Redundanzen entsteht.
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					<img src="img/Aufspaltung_einer_Tabelle_in_zwei_(Beispiel).svg">
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					<img src="img/Wp_Normal_1_301208_165800.JPG">
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					Verbindung aufnehmen:
 | 
						|
					<pre><code class="bash">~$ sudo mysql
 | 
						|
# oder:
 | 
						|
~$ mysql -u BENUTZERNAME -p -h localhost
 | 
						|
</code></pre>
 | 
						|
 | 
						|
 | 
						|
<ul>
 | 
						|
	<li class="fragment ">this</li>
 | 
						|
</ul>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>Datenbank erstellen
 | 
						|
					<pre><code class="sql">CREATE DATABASE IF NOT EXISTS test;
 | 
						|
 | 
						|
USE test;
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS books (
 | 
						|
  BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
 | 
						|
  Title VARCHAR(100) NOT NULL, 
 | 
						|
  SeriesID INT, AuthorID INT);
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS authors 
 | 
						|
(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS series 
 | 
						|
(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT);
 | 
						|
 | 
						|
INSERT INTO books (Title,SeriesID,AuthorID) 
 | 
						|
VALUES('The Fellowship of the Ring',1,1), 
 | 
						|
      ('The Two Towers',1,1), ('The Return of the King',1,1),  
 | 
						|
      ('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2), 
 | 
						|
      ('Wizardborn',2,2), ('The Hobbbit',0,1);</code></pre>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>Tabellen anzeigen
 | 
						|
					<pre><code class="sql">
 | 
						|
SHOW TABLES;
 | 
						|
 | 
						|
+----------------+
 | 
						|
| Tables_in_test |
 | 
						|
+----------------+
 | 
						|
| authors        |
 | 
						|
| books          |
 | 
						|
| series         |
 | 
						|
+----------------+
 | 
						|
3 rows in set (0.00 sec)
 | 
						|
					</code></pre>
 | 
						|
				</section>
 | 
						|
 | 
						|
 | 
						|
				<section>
 | 
						|
					<pre><code  class="sql">DESCRIBE books;
 | 
						|
 | 
						|
+----------+--------------+------+-----+---------+----------------+
 | 
						|
| Field    | Type         | Null | Key | Default | Extra          |
 | 
						|
+----------+--------------+------+-----+---------+----------------+
 | 
						|
| BookID   | int(11)      | NO   | PRI | NULL    | auto_increment |
 | 
						|
| Title    | varchar(100) | NO   |     | NULL    |                |
 | 
						|
| SeriesID | int(11)      | YES  |     | NULL    |                |
 | 
						|
| AuthorID | int(11)      | YES  |     | NULL    |                |
 | 
						|
+----------+--------------+------+-----+---------+----------------+
 | 
						|
					</code></pre>
 | 
						|
				</section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					Daten anzeigen:
 | 
						|
					<pre><code  class="sql">SELECT * FROM books;
 | 
						|
 | 
						|
+--------+----------------------------+----------+----------+
 | 
						|
| BookID | Title                      | SeriesID | AuthorID |
 | 
						|
+--------+----------------------------+----------+----------+
 | 
						|
|      1 | The Fellowship of the Ring |        1 |        1 |
 | 
						|
|      2 | The Two Towers             |        1 |        1 |
 | 
						|
|      3 | The Return of the King     |        1 |        1 |
 | 
						|
|      4 | The Sum of All Men         |        2 |        2 |
 | 
						|
|      5 | Brotherhood of the Wolf    |        2 |        2 |
 | 
						|
|      6 | Wizardborn                 |        2 |        2 |
 | 
						|
|      7 | The Hobbbit                |        0 |        1 |
 | 
						|
+--------+----------------------------+----------+----------+
 | 
						|
7 rows in set (0.00 sec)</code></pre></section>
 | 
						|
 | 
						|
				<section>Daten einfügen:
 | 
						|
					<pre><code class="sql">INSERT INTO books (Title, SeriesID, AuthorID)
 | 
						|
VALUES ("Lair of Bones", 2, 2);
 | 
						|
 | 
						|
Query OK, 1 row affected (0.00 sec)</code></pre>
 | 
						|
					<pre><code>SELECT * FROM books;</code></pre></section>
 | 
						|
 | 
						|
				<section>
 | 
						|
					Daten modifizieren:
 | 
						|
					<pre><code class="sql">UPDATE books 
 | 
						|
SET Title = "The Hobbit" 
 | 
						|
WHERE BookID = 7;
 | 
						|
 | 
						|
Query OK, 1 row affected (0.00 sec)
 | 
						|
Rows matched: 1  Changed: 1  Warnings: 0</code></pre>
 | 
						|
				</section>
 | 
						|
 | 
						|
				
 | 
						|
<!--
 | 
						|
				<section>
 | 
						|
					<ul>
 | 
						|
						<li class="fragment ">mysql</li>
 | 
						|
						<li class="fragment ">LAMP</li>
 | 
						|
						<li class="fragment ">Multimedia</li>
 | 
						|
						<li class="fragment ">Gimp</li>
 | 
						|
					</ul>
 | 
						|
				</section>
 | 
						|
-->
 | 
						|
 | 
						|
<!--
 | 
						|
				<section>
 | 
						|
					Übungen
 | 
						|
C 11.11 [3] Besorgen Sie sich eine geeignete Datei (etwa ein größeres tar -Ar-
 | 
						|
chiv mit Quellcode, vielleicht für den Linux-Kernel) und komprimieren Sie
 | 
						|
sie jeweils mit gzip , bzip2 und xz . Messen Sie dabei die Ausführungszeit
 | 
						|
durch ein vorgesetztes time . Wie verhalten die Laufzeiten und die Kompri-
 | 
						|
mierungsraten sich zueinander?
 | 
						|
C 11.12 [2] Experimentieren Sie mit der Datei aus der vorigen Aufgabe und
 | 
						|
vergleichen Sie die Laufzeit und die Größe des Resultats für xz mit verschie-
 | 
						|
denen Effizienz-Optionen. Was ist der Unterschied zwischen -1 und -6 und
 | 
						|
zwischen -6 und -9 ?
 | 
						|
				</section>
 | 
						|
			-->
 | 
						|
			</div>
 | 
						|
		</div>
 | 
						|
 | 
						|
		<script src="lib/js/head.min.js"></script>
 | 
						|
		<script src="js/reveal.js"></script>
 | 
						|
 | 
						|
		<script>
 | 
						|
 | 
						|
			// More info https://github.com/hakimel/reveal.js#configuration
 | 
						|
			Reveal.initialize({
 | 
						|
				controls: true,
 | 
						|
				progress: true,
 | 
						|
				history: true,
 | 
						|
				center: true,
 | 
						|
 | 
						|
				transition: 'slide', // none/fade/slide/convex/concave/zoom
 | 
						|
 | 
						|
				// More info https://github.com/hakimel/reveal.js#dependencies
 | 
						|
				dependencies: [
 | 
						|
					{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
 | 
						|
					{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
 | 
						|
					{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
 | 
						|
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
 | 
						|
					{ src: 'plugin/search/search.js', async: true },
 | 
						|
					{ src: 'plugin/zoom-js/zoom.js', async: true },
 | 
						|
					{ src: 'plugin/notes/notes.js', async: true }
 | 
						|
				]
 | 
						|
			});
 | 
						|
 | 
						|
		</script>
 | 
						|
 | 
						|
	</body>
 | 
						|
</html>
 |