<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/sql/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Fri, 21 Feb 2025 07:28:17 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>SQL Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/sql/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>JQL (Jira Query Language) &#8211; Eine Abfragesprache</title>
		<link>https://ceosbay.com/2025/02/04/jql-jira-query-language-eine-abfragesprache/</link>
					<comments>https://ceosbay.com/2025/02/04/jql-jira-query-language-eine-abfragesprache/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 04 Feb 2025 19:39:00 +0000</pubDate>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Business & Strategie]]></category>
		<category><![CDATA[Datenwissenschaft]]></category>
		<category><![CDATA[Abfragesprache]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Backlog-Management]]></category>
		<category><![CDATA[Bug-Tracking]]></category>
		<category><![CDATA[Datenabfragen]]></category>
		<category><![CDATA[Datenfilterung]]></category>
		<category><![CDATA[Datenvisualisierung]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Filter]]></category>
		<category><![CDATA[Issue-Tracking]]></category>
		<category><![CDATA[IT-Management]]></category>
		<category><![CDATA[IT-Support]]></category>
		<category><![CDATA[Jira]]></category>
		<category><![CDATA[JQL]]></category>
		<category><![CDATA[Logische Operatoren]]></category>
		<category><![CDATA[Produktentwicklung]]></category>
		<category><![CDATA[Produktivität]]></category>
		<category><![CDATA[Projektmanagement]]></category>
		<category><![CDATA[Projektsteuerung]]></category>
		<category><![CDATA[Query Optimization]]></category>
		<category><![CDATA[Reporting]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software-Testing]]></category>
		<category><![CDATA[Software-Wartung]]></category>
		<category><![CDATA[Sprint-Management]]></category>
		<category><![CDATA[Sprint-Planung]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Suchabfragen]]></category>
		<category><![CDATA[Task Management]]></category>
		<category><![CDATA[Ticket-Analyse]]></category>
		<category><![CDATA[Ticketing-System]]></category>
		<category><![CDATA[Workflow-Automatisierung]]></category>
		<category><![CDATA[Workflows]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=3975</guid>

					<description><![CDATA[<p>Jira ist eines der am weitesten verbreiteten Tools für das Projektmanagement und die Fehlerverfolgung. Eine der leistungsstärksten Funktionen von Jira ist die Jira Query Language (JQL). Sie ermöglicht es Benutzern, gezielt nach Aufgaben und Vorgängen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2025/02/04/jql-jira-query-language-eine-abfragesprache/">JQL (Jira Query Language) &#8211; Eine Abfragesprache</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Jira ist eines der am weitesten verbreiteten Tools für das Projektmanagement und die Fehlerverfolgung. Eine der leistungsstärksten Funktionen von Jira ist die Jira Query Language (JQL). Sie ermöglicht es Benutzern, gezielt nach Aufgaben und Vorgängen zu suchen. In diesem Blog-Beitrag erklären wir, was JQL ist, wie es funktioniert und welche Möglichkeiten es bietet.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="871" height="871" src="https://i0.wp.com/ceosbay.com/wp-content/uploads/2025/02/JQL.jpg?resize=871%2C871&#038;ssl=1" alt="JQL" class="wp-image-3984" srcset="https://i0.wp.com/ceosbay.com/wp-content/uploads/2025/02/JQL.jpg?w=1024&amp;ssl=1 1024w, https://i0.wp.com/ceosbay.com/wp-content/uploads/2025/02/JQL.jpg?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/ceosbay.com/wp-content/uploads/2025/02/JQL.jpg?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/ceosbay.com/wp-content/uploads/2025/02/JQL.jpg?resize=768%2C768&amp;ssl=1 768w" sizes="(max-width: 871px) 100vw, 871px" /></figure>



<h2 class="wp-block-heading">Was ist JQL?</h2>



<p>JQL ist eine speziell für Jira entwickelte Abfragesprache. Es lassen sich damit komplexe Suchanfragen erstellen, um bestimmte Vorgänge in Jira zu finden. Im Vergleich zur einfachen Suchfunktion bietet es eine deutlich höhere Flexibilität.</p>



<p>Es kombiniert Schlüsselwörter, Felder, Operatoren und Funktionen. Dadurch können Benutzer spezifische Kriterien für ihre Suche definieren.</p>



<p>Dementsprechend ist die Jira Query Language <strong>keine</strong> vollwertige Programmiersprache, sondern eine <strong>Abfragesprache</strong>. Während Programmiersprachen wie <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> oder <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a> vollständige Kontrollstrukturen, Variablenzuweisungen und Schleifen enthalten, dient JQL ausschließlich dazu, Daten innerhalb von Jira zu suchen und zu filtern. Es ähnelt eher <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL</a> in Bezug auf seine Suchmöglichkeiten, hat aber keinen Zugriff auf komplexe Programmierlogik oder externe <a href="https://ceosbay.com/2023/04/20/api-nahtlose-verbindungen-fuer-innovationen/">APIs</a>.</p>



<h2 class="wp-block-heading">Grundlegende Syntax von JQL</h2>



<p>Die grundlegende Syntax einer JQL-Abfrage setzt sich aus drei Elementen zusammen:</p>



<ul class="wp-block-list">
<li><strong>Feld</strong>: Das Jira-Feld, das abgefragt wird (z.B. <code>status</code>, <code>assignee</code>, <code>priority</code>).</li>



<li><strong>Operator</strong>: Bestimmt die Beziehung zwischen dem Feld und dem Wert (z.B. <code>=</code>, <code>!=</code>, <code>IN</code>).</li>



<li><strong>Wert</strong>: Der Wert, nach dem gesucht wird (z.B. <code>Open</code>, <code>High</code>, <code>John Doe</code>).</li>
</ul>



<h3 class="wp-block-heading">Einfache JQL-Abfragen</h3>



<p>Einige Beispiele für einfache Abfragen:</p>



<ol class="wp-block-list">
<li>Um alle offenen Aufgaben anzuzeigen:</li>
</ol>



<pre class="wp-block-code"><code>   status = Open</code></pre>



<ol start="2" class="wp-block-list">
<li>Wenn man Aufgaben eines bestimmten Benutzers finden möchte:</li>
</ol>



<pre class="wp-block-code"><code>   assignee = "Max Mustermann"</code></pre>



<ol start="3" class="wp-block-list">
<li>Falls man nur Aufgaben mit hoher Priorität anzeigen möchte:</li>
</ol>



<pre class="wp-block-code"><code>   priority = High</code></pre>



<ol start="4" class="wp-block-list">
<li>Wenn man alle Aufgaben eines bestimmten Projekts sucht:</li>
</ol>



<pre class="wp-block-code"><code>   project = "Marketing"</code></pre>



<h2 class="wp-block-heading">Erweiterte JQL-Funktionen</h2>



<p>Es kann nicht nur einfache, sondern auch komplexe Abfragen durchführen. Dabei kommen logische Operatoren, Vergleichsoperatoren und Funktionen zum Einsatz.</p>



<h3 class="wp-block-heading">Logische Operatoren</h3>



<ul class="wp-block-list">
<li><strong>AND</strong>: Verknüpft mehrere Bedingungen, sodass beide erfüllt sein müssen.</li>
</ul>



<pre class="wp-block-code"><code>  status = Open AND priority = High</code></pre>



<ul class="wp-block-list">
<li><strong>OR</strong>: Eine der Bedingungen muss erfüllt sein.</li>
</ul>



<pre class="wp-block-code"><code>  status = Open OR status = In Progress</code></pre>



<ul class="wp-block-list">
<li><strong>NOT</strong>: Negiert eine Bedingung.</li>
</ul>



<pre class="wp-block-code"><code>  status != Closed</code></pre>



<h3 class="wp-block-heading">Vergleichsoperatoren</h3>



<ul class="wp-block-list">
<li><code>=</code> : Ist gleich</li>



<li><code>!=</code> : Ist ungleich</li>



<li><code>></code> : Größer als</li>



<li><code>&lt;</code> : Kleiner als</li>



<li><code>>=</code> : Größer oder gleich</li>



<li><code>&lt;=</code> : Kleiner oder gleich</li>
</ul>



<p>Beispiel:</p>



<pre class="wp-block-code"><code>created &gt;= "2024-01-01" AND created &lt;= "2024-02-01"</code></pre>



<h3 class="wp-block-heading">Listen-Operatoren</h3>



<ul class="wp-block-list">
<li><strong>IN</strong>: Vergleicht mit einer Liste von Werten.</li>
</ul>



<pre class="wp-block-code"><code>  status IN (Open, "In Progress", Reopened)</code></pre>



<ul class="wp-block-list">
<li><strong>NOT IN</strong>: Ausschluss einer Liste von Werten.</li>
</ul>



<pre class="wp-block-code"><code>  priority NOT IN (Low, Medium)</code></pre>



<h3 class="wp-block-heading">Funktionen in JQL</h3>



<p>Es bietet einige eingebaute Funktionen, die flexiblere Suchanfragen ermöglichen:</p>



<ul class="wp-block-list">
<li><strong>startOfDay()</strong>: Beginn des aktuellen Tages</li>



<li><strong>endOfWeek()</strong>: Ende der aktuellen Woche</li>



<li><strong>now()</strong>: Aktueller Zeitpunkt</li>



<li><strong>updated()</strong>: Zeigt an, wann ein Vorgang zuletzt aktualisiert wurde</li>
</ul>



<p>Beispiel:</p>



<pre class="wp-block-code"><code>updated &gt;= startOfDay()</code></pre>



<p>Diese Abfrage liefert alle Vorgänge, deren Aktualisierung heute stattgefunden hat.</p>



<h2 class="wp-block-heading">Praxisbeispiele für JQL</h2>



<h3 class="wp-block-heading">1. Alle Aufgaben, deren Erstellung in den letzten 7 Tagen erfolgt ist</h3>



<pre class="wp-block-code"><code>created &gt;= -7d</code></pre>



<h3 class="wp-block-heading">2. Alle abgeschlossenen Aufgaben eines bestimmten Benutzers</h3>



<pre class="wp-block-code"><code>status = Done AND assignee = "Max Mustermann"</code></pre>



<h3 class="wp-block-heading">3. Aufgaben mit Kommentaren in den letzten 24 Stunden</h3>



<pre class="wp-block-code"><code>updated &gt;= -1d AND comment IS NOT EMPTY</code></pre>



<h3 class="wp-block-heading">4. Aufgaben in einem bestimmten Sprint</h3>



<pre class="wp-block-code"><code>sprint = "Sprint 15"</code></pre>



<h3 class="wp-block-heading">5. Alle Aufgaben mit bestimmten Schlagwörtern</h3>



<pre class="wp-block-code"><code>labels IN (Bug, "Customer Request")</code></pre>



<h2 class="wp-block-heading">Fazit</h2>



<p>JQL ist ein leistungsstarkes Werkzeug, das Jira-Benutzern hilft, gezielt nach Aufgaben zu suchen und komplexe Filter zu erstellen. Dank der Kombination aus Feldern, Operatoren und Funktionen lassen sich nahezu alle gewünschten Abfragen formulieren. Wer JQL beherrscht, kann Jira effizienter nutzen und relevante Informationen schneller finden.</p>



<p>Wenn Du Jira häufig verwendest, lohnt es sich, Dich damit näher zu beschäftigen. So kannst Du individuelle Abfragen erstellen und eine bessere Übersicht über Deine Projekte erhalten.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2025/02/04/jql-jira-query-language-eine-abfragesprache/">JQL (Jira Query Language) &#8211; Eine Abfragesprache</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2025/02/04/jql-jira-query-language-eine-abfragesprache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3975</post-id>	</item>
		<item>
		<title>PostgreSQL &#8211; Der flexible Open-Source Datenbankmotor</title>
		<link>https://ceosbay.com/2023/10/13/postgresql-der-flexible-open-source-datenbankmotor/</link>
					<comments>https://ceosbay.com/2023/10/13/postgresql-der-flexible-open-source-datenbankmotor/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 13 Oct 2023 03:55:00 +0000</pubDate>
				<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[Datenwissenschaft]]></category>
		<category><![CDATA[Informationstechnologie]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Abfrageoptimierung]]></category>
		<category><![CDATA[Abfrageplan]]></category>
		<category><![CDATA[ACID]]></category>
		<category><![CDATA[Aggregation]]></category>
		<category><![CDATA[Analytische Anwendungen]]></category>
		<category><![CDATA[Asynchronous Commit]]></category>
		<category><![CDATA[Berkeley]]></category>
		<category><![CDATA[Bitemporal Data]]></category>
		<category><![CDATA[Commit]]></category>
		<category><![CDATA[Concurrency Control]]></category>
		<category><![CDATA[Constraints]]></category>
		<category><![CDATA[Continuous Archiving]]></category>
		<category><![CDATA[Datenabfrage]]></category>
		<category><![CDATA[Datenarchitektur]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Datenbank-Backup]]></category>
		<category><![CDATA[Datenbank-Caching]]></category>
		<category><![CDATA[Datenbank-Clustering]]></category>
		<category><![CDATA[Datenbank-Indexierung]]></category>
		<category><![CDATA[Datenbank-Join]]></category>
		<category><![CDATA[Datenbank-Logs]]></category>
		<category><![CDATA[Datenbank-Mirroring]]></category>
		<category><![CDATA[Datenbank-Monitoring]]></category>
		<category><![CDATA[Datenbank-Partitionierung]]></category>
		<category><![CDATA[Datenbank-Pooling]]></category>
		<category><![CDATA[Datenbank-Snapshot]]></category>
		<category><![CDATA[Datenbankmanagement]]></category>
		<category><![CDATA[Datenbankschema]]></category>
		<category><![CDATA[Datenbanktreiber]]></category>
		<category><![CDATA[Datenbankverbindung]]></category>
		<category><![CDATA[Datenintegrität]]></category>
		<category><![CDATA[Datenkompression]]></category>
		<category><![CDATA[Datenmigration]]></category>
		<category><![CDATA[Datenmodellierung]]></category>
		<category><![CDATA[Datenoptimierung]]></category>
		<category><![CDATA[Datenredundanz]]></category>
		<category><![CDATA[Datensicherheit]]></category>
		<category><![CDATA[Denormalisierung]]></category>
		<category><![CDATA[Embedded Systeme]]></category>
		<category><![CDATA[Erweiterbarkeit]]></category>
		<category><![CDATA[ETL-Prozesse]]></category>
		<category><![CDATA[Failover]]></category>
		<category><![CDATA[Foreign Data Wrapper]]></category>
		<category><![CDATA[Foreign Key]]></category>
		<category><![CDATA[Full-Text Search]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[Hochverfügbarkeit]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Large Objects]]></category>
		<category><![CDATA[Listenansicht]]></category>
		<category><![CDATA[Load Balancing]]></category>
		<category><![CDATA[Locking]]></category>
		<category><![CDATA[Logical Replication]]></category>
		<category><![CDATA[MVCC]]></category>
		<category><![CDATA[Nested Transactions]]></category>
		<category><![CDATA[Normalisierung]]></category>
		<category><![CDATA[NoSQL-Integration]]></category>
		<category><![CDATA[Objektrelationales Mapping]]></category>
		<category><![CDATA[OLAP]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Open-Source]]></category>
		<category><![CDATA[Parallel Query Execution]]></category>
		<category><![CDATA[Partitionierung]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Tuning]]></category>
		<category><![CDATA[Point-in-Time Recovery]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[POSTGRES]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Primary Key]]></category>
		<category><![CDATA[psql]]></category>
		<category><![CDATA[Relational]]></category>
		<category><![CDATA[Replikation]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[Rollback]]></category>
		<category><![CDATA[Row-Level Security]]></category>
		<category><![CDATA[Sequences]]></category>
		<category><![CDATA[Skalierbarkeit]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL-Standard]]></category>
		<category><![CDATA[Stored Procedures]]></category>
		<category><![CDATA[Streaming Replication]]></category>
		<category><![CDATA[Subqueries]]></category>
		<category><![CDATA[Tabelle]]></category>
		<category><![CDATA[Tablespaces]]></category>
		<category><![CDATA[Transaktionen]]></category>
		<category><![CDATA[Trigger]]></category>
		<category><![CDATA[Upsert]]></category>
		<category><![CDATA[Vakuum]]></category>
		<category><![CDATA[Webanwendungen]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2256</guid>

					<description><![CDATA[<p>PostgreSQL gehört zu den leistungsstärksten Open-Source-Datenbanksystemen auf dem Markt. Ursprünglich als POSTGRES in den 1980er Jahren an der University of California, Berkeley, entwickelt, hat es sich ständig weiterentwickelt und bietet heute viele moderne Funktionen, einschließlich &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/13/postgresql-der-flexible-open-source-datenbankmotor/">PostgreSQL &#8211; Der flexible Open-Source Datenbankmotor</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>PostgreSQL gehört zu den leistungsstärksten <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Datenbanksystemen auf dem Markt. Ursprünglich als POSTGRES in den 1980er Jahren an der University of California, Berkeley, entwickelt, hat es sich ständig weiterentwickelt und bietet heute viele moderne Funktionen, einschließlich MVCC (Multi-Version Concurrency Control) und Unterstützung für <a href="https://ceosbay.com/2023/03/14/erklaerung-json/">JSON</a>-Datenstrukturen.</p>



<h3 class="wp-block-heading">Die Geschichte</h3>



<p>Die Anfänge liegen in einem Forschungsprojekt der Universität Berkeley. Mit der Zeit fand die Software dank ihrer Robustheit und Skalierbarkeit große Anerkennung in der Entwicklergemeinschaft. 1996 erfolgte die Umbenennung in PostgreSQL, um die <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL</a>-Unterstützung des Systems hervorzuheben. Seitdem haben zahlreiche Freiwillige und Organisationen dazu beigetragen, es zu einem der fortschrittlichsten Datenbanksysteme zu machen.</p>



<h3 class="wp-block-heading">Erste Schritte</h3>



<p>Für den Einstieg empfiehlt es sich, es von der <a href="https://www.postgresql.org">offiziellen Webseite</a> herunterzuladen und zu installieren. Dank einer aktiven Gemeinschaft stehen viele Tutorials und Dokumentationen zur Verfügung, um Anfängern den Einstieg zu erleichtern. Mit dem Befehlszeilen-Tool <code>psql</code> kann man direkt mit der Datenbank interagieren und <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL</a>-Befehle ausführen.</p>



<h3 class="wp-block-heading">Beispiele für den Einsatz</h3>



<h4 class="wp-block-heading">Es zeigt seine Stärken in verschiedenen Einsatzgebieten:</h4>



<ol class="wp-block-list">
<li><strong>Webanwendungen:</strong> Viele moderne Web-Plattformen, wie zum Beispiel Content-Management-Systeme oder E-Commerce-Websites, nutzen es als Backend-Datenbanksystem.</li>



<li><strong>Geografische Informationssysteme (GIS):</strong> Mit der Erweiterung PostGIS erweitert es seine Fähigkeiten um geospatiale Datenverarbeitung.</li>



<li><strong>Analytische Anwendungen:</strong> Es unterstützt große Datensätze und komplexe Abfragen, wodurch es sich hervorragend für Business Intelligence und Data Warehousing eignet.</li>



<li><strong>Embedded Systeme:</strong> Aufgrund seiner Flexibilität und Skalierbarkeit lässt es sich auch in kleineren, eingebetteten Systemen verwenden.</li>
</ol>



<p><strong>Hier ein kurzes Beispiel, wie man eine Tabelle erstellt und Daten hinzufügt:</strong></p>



<pre class="wp-block-code"><code>CREATE TABLE mitarbeiter (
    id SERIAL PRIMARY KEY,
    vorname VARCHAR(100),
    nachname VARCHAR(100),
    geburtsdatum DATE
);

INSERT INTO mitarbeiter (vorname, nachname, geburtsdatum)
VALUES ('Anja', 'Maier', '1990-12-15'), ('Max', 'Mustermann', '1985-06-23');</code></pre>



<h3 class="wp-block-heading">Vorteile von PostgreSQL:</h3>



<ol class="wp-block-list">
<li><strong>Open Source</strong>: Es ist kostenlos und bietet gleichzeitig eine robuste Funktionsvielfalt.</li>



<li><strong>Erweiterbarkeit</strong>: Nutzer können eigene Datentypen, Funktionen und mehr erstellen.</li>



<li><strong>Kompatibilität</strong>: Es unterstützt viele Programmiersprachen und Betriebssysteme.</li>



<li><strong>Concurrency</strong>: Durch MVCC können viele Nutzer gleichzeitig auf die Datenbank zugreifen, ohne Konflikte zu verursachen.</li>



<li><strong>PostGIS</strong>: Diese Erweiterung macht es zu einer der besten Datenbanken für geospatiale Daten.</li>



<li><strong>ACID-Compliance</strong>: Garantiert zuverlässige Transaktionen und Datenintegrität.</li>
</ol>



<h3 class="wp-block-heading">Nachteile von PostgreSQL:</h3>



<ol class="wp-block-list">
<li><strong>Performance</strong>: In einigen Fällen kann es langsamer sein als kommerzielle Datenbanken wie Oracle oder proprietäre Systeme wie Microsoft SQL Server.</li>



<li><strong>Verwaltung</strong>: Kann komplexer sein als andere Systeme, insbesondere für Anfänger.</li>



<li><strong>Replikation</strong>: Frühere Versionen hatten Einschränkungen bei der Replikation, obwohl moderne Versionen diese Probleme größtenteils behoben haben.</li>
</ol>



<h3 class="wp-block-heading">Vergleich mit anderen Datenbanksystemen:</h3>



<ul class="wp-block-list">
<li><strong>MySQL</strong>:
<ul class="wp-block-list">
<li><strong>Lizenzierung</strong>: Beide sind <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>, aber <a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/">MySQL</a> wird von Oracle kontrolliert, während PostgreSQL eine echte Gemeinschaftsentwicklung ist.</li>



<li><strong>Erweiterbarkeit</strong>: PostgreSQL ist in Bezug auf Funktionen und erweiterbare Datenbankobjekte flexibler.</li>



<li><strong>Performance</strong>: <a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/">MySQL</a> könnte in einigen Fällen schneller sein, besonders wenn es um Read-Heavy-Operationen geht.</li>
</ul>
</li>



<li><strong>Microsoft SQL Server</strong>:
<ul class="wp-block-list">
<li><strong>Lizenzierung</strong>: SQL Server ist proprietär und kostenpflichtig, während PostgreSQL <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> ist.</li>



<li><strong>Betriebssystem</strong>: PostgreSQL ist plattformunabhängig, während SQL Server hauptsächlich auf Windows läuft (obwohl es eine <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>-Version gibt).</li>



<li><strong>Tooling</strong>: SQL Server bietet integrierte BI-Tools, während PostgreSQL sich auf Drittanbieter-Tools verlässt.</li>
</ul>
</li>



<li><strong>Oracle</strong>:
<ul class="wp-block-list">
<li><strong>Kosten</strong>: Oracle kann sehr teuer sein, während PostgreSQL kostenlos ist.</li>



<li><strong>Funktionsumfang</strong>: Beide Systeme bieten einen reichen Funktionsumfang, aber Oracle hat einige fortschrittliche Features, die in PostgreSQL nicht nativ vorhanden sind.</li>



<li><strong>Community</strong>: PostgreSQL profitiert von einer aktiven <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Community, während Oracle-Updates und -Patches von der Firma Oracle kommen.</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading">Fazit</h3>



<p>PostgreSQL hat sich als eines der zuverlässigsten und flexibelsten Datenbanksysteme etabliert. Egal, ob für kleine Projekte oder komplexe Unternehmensanwendungen, es bietet leistungsstarke Funktionen, die den Anforderungen moderner Anwendungen gerecht werden.</p>



<p></p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/13/postgresql-der-flexible-open-source-datenbankmotor/">PostgreSQL &#8211; Der flexible Open-Source Datenbankmotor</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/10/13/postgresql-der-flexible-open-source-datenbankmotor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2256</post-id>	</item>
		<item>
		<title>C# &#8211; Als Brücke zwischen Innovation und Benutzererfahrung</title>
		<link>https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/</link>
					<comments>https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 19 Apr 2023 14:30:00 +0000</pubDate>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[#]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[C+]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Drittanbieter]]></category>
		<category><![CDATA[Entwicklungen]]></category>
		<category><![CDATA[Frame]]></category>
		<category><![CDATA[Funktionen]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Integrated]]></category>
		<category><![CDATA[Interoperabilität]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JIT]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[Kollektionen]]></category>
		<category><![CDATA[Lambda]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Natur]]></category>
		<category><![CDATA[NetCore]]></category>
		<category><![CDATA[Objekt]]></category>
		<category><![CDATA[Ökosystem]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Plattform]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Proprietäre]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[refs]]></category>
		<category><![CDATA[Sharp]]></category>
		<category><![CDATA[Skalierbarkeit]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Studio]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[Visual]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[Wolke]]></category>
		<category><![CDATA[Xamarin]]></category>
		<category><![CDATA[XM]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1741</guid>

					<description><![CDATA[<p>In der Welt der Programmierung ist C# (ausgesprochen &#8222;C-Sharp&#8220;) eine der am häufigsten verwendeten und vielseitigsten Programmiersprachen. Entwickelt von Microsoft als Teil der .NET-Initiative. Hat sich C# seit seiner Einführung im Jahr 2000 rasant weiterentwickelt &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/">C# &#8211; Als Brücke zwischen Innovation und Benutzererfahrung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der Welt der Programmierung ist C# (ausgesprochen &#8222;C-Sharp&#8220;) eine der am häufigsten verwendeten und vielseitigsten Programmiersprachen. Entwickelt von Microsoft als Teil der .NET-Initiative. Hat sich C# seit seiner Einführung im Jahr 2000 rasant weiterentwickelt und ist heute eine der Top-Programmiersprachen. Ich habe mich erst intensiver damit beschäftigt, als ich Unity 3D kennengelernt habe. Im Kontext der Echtzeit 3D Visualisierung und Spieleentwicklung. Anfangs noch für Serious Games und später auch für konventionelle Spiele. In diesem Blogbeitrag befasse ich mich aber lediglich mit der Geschichte und Entwicklung von C# selbst. Für Unity gibt es dann einen gesonderten Beitrag.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Die Geschichte von C# beginnt im Jahr 1999. Als Microsoft-Entwickler Anders Hejlsberg und sein Team an einer neuen Programmiersprache namens &#8222;Cool&#8220; (kurz für &#8222;C-like Object Oriented Language&#8220;) arbeiteten. Das Projekt, Teil von Microsofts größerer .NET-Initiative, eine einheitliche Plattform für die Entwicklung von Webdiensten, Desktop-Anwendungen und verteilter Systeme zu schaffen. Cool sollte leistungsstark und einfach zu erlernen sein. Die Elemente von C, <a href="https://ceosbay.com/2023/02/25/erklaerung-c/">C++</a>, <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> und Delphi in einer Programmiersprache vereint.</p>



<h4 class="wp-block-heading">Die ersten Schritte (2000-2002)</h4>



<p>Im Juni 2000 kam die offizielle Vorstellung von Microsoft C#. Es war von Anfang an eng mit dem .NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> verknüpft. Die Veröffentlichung der ersten Version von C# und dem .NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> (Version 1.0) folgte im Jahr 2002. Sie bot grundlegende Funktionen für objektorientierte Programmierung, wie Klassen, Objekte, Vererbung und Polymorphismus. Auch wenn diese Version noch nicht über einige der leistungsfähigen Funktionen verfügte, die man in späteren Versionen hinzugefügte. War es dennoch eine attraktive Option für Entwickler, die eine Alternative zu <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> oder <a href="https://ceosbay.com/2023/02/25/erklaerung-c/">C++</a> suchten.</p>



<h4 class="wp-block-heading">Weiterentwicklung und Verbesserungen (2002-2010)</h4>



<p>In den folgenden Jahren entwickelte sich C# kontinuierlich weiter, zahlreiche neue Funktionen und Verbesserungen kamen nach und nach hinzu. C# 2.0, dessen Veröffentlichung im Jahr 2005 stattfand, führte Generics, partielle Klassen, anonyme Methoden und Nullable-Werttypen ein. Diese Verbesserungen erleichterten die Programmierung und erweiterten die Möglichkeiten von C# erheblich.</p>



<p>C# 3.0 dann im Jahr 2007. Es brachte eine der bahnbrechendsten Neuerungen der Sprache: Language Integrated Query (LINQ) ins Spiel. LINQ ist eine Sammlung von Funktionen, die es ermöglichen, Daten aus verschiedenen Quellen (wie <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL</a>-Datenbanken, <a href="https://ceosbay.com/2022/12/27/erklaerung-xml/">XML</a>-Dokumenten und in-memory Kollektionen) zu verarbeiten. Direkt in C#, und außerdem, zu manipulieren. Diese Version führte auch anonyme Typen, Erweiterungsmethoden und Lambda-Ausdrücke ein, was die Sprache noch flexibler und ausdrucksstärker machte.</p>



<p>Mit C# 4.0, das 2010 erschien, kamen einige wichtige Funktionen hinzu. Diese verbesserten die Interoperabilität von C# mit anderen Technologien und Programmiersprachen. Dazu gehörten dynamische Typen, benannte und optionale Parameter sowie verbesserte COM-Interoperabilität.</p>



<h4 class="wp-block-heading">Aktuelle Entwicklungen (2010-heute)</h4>



<p>C# 5.0, im Jahr 2012. Es fokussierte sich hauptsächlich auf die Verbesserung der asynchronen Programmierung durch die Einführung von Async und Await Keywords. Diese Funktionen ermöglichen es Entwicklern, heute noch, asynchronen Code auf einfache und saubere Weise zu schreiben. So kann man Anwendungen erstellen, die dadurch heute schneller und reaktionsfähiger sind.</p>



<p>Seitdem kamen weitere Versionen von C#, die jeweils neue Funktionen und Verbesserungen enthielten. C# 6.0 (2015) brachte einige Syntaktische Vereinfachungen wie Auto-Property-Initialisierer, Expression-bodied-Mitglieder, Nullbedingungsoperator (?.) und String-Interpolation.</p>



<p>Gefolgt von C# 7.0 (2017). Es kamen Tuples, Pattern Matching, lokale Funktionen und erweiterte Möglichkeiten für das Arbeiten mit Werttypen durch die Einführung von ref locals und ref returns mit rein.</p>



<p>Und C# 8.0 (2019) legte einen Schwerpunkt auf die Verbesserung von Sicherheit und Produktivität, indem es Funktionen wie Nullable Reference Types, Asynchronous Streams, Pattern Matching Enhancements, Indices und Ranges sowie Default Interface Members einführte.</p>



<p>Zuletzt C# 9.0 im Jahr 2020, dass sich auf die Verbesserung von Programmiersprachfunktionen konzentrierte. Dadurch konnte man den Umgang mit Daten und den Ausdruck von Algorithmen vereinfachen. Dazu gehörten beispielsweise Init-only-Properties, Records, Pattern Matching Enhancements, Top-Level-Statements und Target-typed New Expressions.</p>



<p>Parallel zur Entwicklung von C# hat Microsoft auch an der .NET-Plattform gearbeitet. Im Jahr 2016 veröffentlichte das Unternehmen .NET Core, eine plattformübergreifende, modulare und leichte Version von .NET, die für moderne Web- und <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-Anwendungen optimiert ist. Seit der Veröffentlichung von .NET 5 im Jahr 2020 hat Microsoft die traditionellen .NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> und .NET Core vereint und setzt nun auf eine einzige .NET-Laufzeit und -Plattform.</p>



<h3 class="wp-block-heading">Vorteile von C#</h3>



<ul class="wp-block-list">
<li><strong>Vielseitigkeit</strong>: Es eignet sich für eine breite Palette von Anwendungen und Projekten. Es wird häufig für die Entwicklung von Webanwendungen, Windows-Anwendungen, <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/">Cloud</a>-basierten Diensten, Spielen, mobilen Anwendungen und sogar KI-Projekten verwendet.</li>



<li><strong>Objektorientierung</strong>: Es ist eine vollständig objektorientierte Sprache, was bedeutet, dass sie auf dem Prinzip der Kapselung von Daten und Verhalten innerhalb von Objekten basiert. Dies ermöglicht eine saubere Trennung von Anliegen und fördert Wiederverwendbarkeit und Erweiterbarkeit des Codes.</li>



<li><strong>Einfache und klare Syntax</strong>: Die Syntax von C# ist einfach und leicht verständlich, wodurch Programmierer schneller lernen und produktiver sein können. Die Sprache ist weniger fehleranfällig und erlaubt Entwicklern, effizienter und mit weniger Fehlern zu arbeiten.</li>



<li><strong>Leistungsstarke Entwicklungsumgebungen</strong>: C# wird von einer Vielzahl von Entwicklungsumgebungen unterstützt, insbesondere von <a href="https://ceosbay.com/2023/02/22/visual-studio-code-der-leichte-schwergewicht/">Visual Studio Code</a>, einer leistungsstarken integrierten Entwicklungsumgebung (IDE) von Microsoft. Dies ermöglicht Programmierern, schnell und effizient zu arbeiten, Code zu schreiben, zu testen und zu debuggen.</li>



<li><strong>Unterstützung und Gemeinschaft</strong>: Da C# von Microsoft entwickelt und unterstützt wird, profitiert die Sprache von einer starken Gemeinschaft und einer breiten Palette von Ressourcen, einschließlich Online-Tutorials, Dokumentationen und Foren. Die C#-Community ist bekannt für ihre Hilfsbereitschaft und ihr Engagement, neue Programmierer willkommen zu heißen und bei Problemen zu unterstützen.</li>



<li><strong>Interoperabilität</strong>: C# bietet eine hervorragende Interoperabilität mit anderen .NET-Sprachen und -Technologien. Durch die Nutzung der .NET-Bibliotheken und &#8211;<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> können Entwickler eine Vielzahl von Funktionalitäten in ihren Anwendungen leicht implementieren und erweitern.</li>



<li><strong>Skalierbarkeit und Leistung</strong>: C#-Anwendungen sind für ihre Leistung und Skalierbarkeit bekannt. Durch die Verwendung des Just-In-Time (JIT)-Compilers und anderer Optimierungstechniken bietet C# schnelle Ausführungszeiten und geringe Latenzzeiten, was für Anwendungen mit hohen Anforderungen an Geschwindigkeit und Reaktionsfähigkeit unerlässlich ist.</li>



<li><strong>Plattformübergreifende Entwicklung</strong>: Mit der Einführung von .NET Core und Xamarin ermöglicht C# die plattformübergreifende Entwicklung von Anwendungen für Windows, MacOS, <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/">Linux</a>, iOS und Android. Dies eröffnet Entwicklern eine Vielzahl neuer Möglichkeiten und macht die Sprache noch attraktiver für Unternehmen und Entwickler.</li>
</ul>



<h3 class="wp-block-heading">Nachteile von C#</h3>



<p>Obwohl es eine leistungsstarke und vielseitige Programmiersprache ist, gibt es einige Nachteile, die man beachten sollte, bevor man sich für diese Sprache entscheidet. Hier sind einige der wichtigsten:</p>



<ul class="wp-block-list">
<li><strong>Leistung</strong>: Trotz der Verbesserungen in der Laufzeitumgebung und den Optimierungstechniken von .NET ist die Leistung von C#-Anwendungen möglicherweise nicht so gut wie die von Anwendungen, die in niedrigeren Programmiersprachen wie C oder <a href="https://ceosbay.com/2023/02/25/erklaerung-c/">C++</a> geschrieben sind. Die Verwendung von Just-In-Time (JIT)-Kompilierung und Garbage Collection kann zu einem gewissen Laufzeit-Overhead führen.</li>



<li><strong>Plattformabhängigkeit</strong>: Historisch gesehen war C# stark an das Windows-Ökosystem und die .NET-Plattform gebunden. Obwohl die Einführung von .NET Core und Xamarin die plattformübergreifende Entwicklung ermöglicht hat, ist die Unterstützung und Integration von C# in Nicht-Windows-Umgebungen möglicherweise nicht so nahtlos wie bei einigen anderen Programmiersprachen, insbesondere <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a>. Mir ist dies besonders aufgefallen, als ich zeitgleich für Android und iOS Devices kompiliert habe. Man muss einige Dinge beachten und Drittanbieter-Software installieren, um überhaupt vom Fleck zu kommen.</li>



<li><strong>Lernkurve</strong>: Obwohl es im Vergleich zu einigen anderen Programmiersprachen relativ einfach zu erlernen ist, kann es dennoch eine gewisse Zeit dauern, sich mit allen Funktionen und Konzepten der Sprache vertraut zu machen, insbesondere wenn man noch keine Erfahrung mit objektorientierter Programmierung hat.</li>



<li><strong>Größe des Ökosystems:</strong> Während das .NET-Ökosystem umfangreich ist und viele Bibliotheken und <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> bietet, kann es sein, dass bestimmte Drittanbieter-Bibliotheken oder -Tools nicht verfügbar sind oder nicht so umfangreich wie in einigen anderen Programmiersprachen.</li>



<li><strong>Proprietäre Natur:</strong> C# von Microsoft ist eine proprietäre Sprache. Obwohl es <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Implementierungen gibt (z.B. .NET Core und Xamarin), hängt die Entwicklung der Sprache und der zugehörigen Tools stark von Microsofts Strategie und Vision ab. Einige Entwickler ziehen es vor, sich auf <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Programmiersprachen wie <a href="https://ceosbay.com/2022/12/20/erklaerung-python/">Python</a> oder <a href="https://ceosbay.com/2023/03/16/erklaerung-java/">Java</a> zu konzentrieren, die nicht ein einzelnes Unternehmen kontrolliert.</li>
</ul>



<h3 class="wp-block-heading">Anwendungsbeispiele für C#</h3>



<ul class="wp-block-list">
<li><strong>Webanwendungen</strong>: Es ist eine beliebte Wahl für die Entwicklung von Webanwendungen, insbesondere mit dem ASP.NET-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a>. ASP.NET Core ist ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Webframework, das auf .NET Core basiert und die Entwicklung von modernen, leistungsstarken Webanwendungen ermöglicht.</li>



<li><strong>Windows-Anwendungen</strong>: Es eignet sich hervorragend für die Entwicklung von Windows-Desktop-Anwendungen. Mit dem Windows Presentation Foundation (WPF) <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> können Entwickler ansprechende Benutzeroberflächen und robuste Anwendungen erstellen.</li>



<li><strong>Mobile Anwendungen</strong>: Mit Hilfe von Xamarin, einer plattformübergreifenden App-Entwicklungsumgebung, können Entwickler C# verwenden, um native Anwendungen für iOS, Android und Windows Mobile zu erstellen.</li>



<li><strong>Spieleentwicklung</strong>: Die Unity-Engine, eine der weltweit führenden Spieleentwicklungsplattformen, unterstützt C# als Skriptsprache. Dies ermöglicht es Entwicklern, anspruchsvolle und leistungsfähige Spiele für verschiedene Plattformen zu entwickeln.</li>
</ul>



<h3 class="wp-block-heading">Fazit:</h3>



<p>C# hat sich seit seiner Einführung zu einer der bevorzugten Programmiersprachen für Entwickler und Unternehmen entwickelt. Mit seiner Vielseitigkeit, leistungsstarken Entwicklungsumgebungen, der starken Unterstützung durch Microsoft und einer engagierten Community bietet C# eine hervorragende Grundlage für die Entwicklung einer Vielzahl von Anwendungen. Wenn man in Betracht zieht, eine neue Programmiersprache zu erlernen oder ein neues Projekt zu starten, sollte man auf jeden Fall die vielen Vorteile von C# in Betracht ziehen.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/">C# &#8211; Als Brücke zwischen Innovation und Benutzererfahrung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/04/19/c-als-bruecke-zwischen-innovation-und-benutzererfahrung/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1741</post-id>	</item>
		<item>
		<title>CRUD &#8211; Kernprinzipien für effiziente Datenmanipulation und solide Anwendungsarchitektur</title>
		<link>https://ceosbay.com/2023/04/03/erklaerung-crud/</link>
					<comments>https://ceosbay.com/2023/04/03/erklaerung-crud/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 03 Apr 2023 19:33:47 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Finanzen]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Soziale Medien]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Aktualisieren]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Banken]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[Commerce]]></category>
		<category><![CDATA[Create]]></category>
		<category><![CDATA[CRUD]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Datenmengen]]></category>
		<category><![CDATA[Delete]]></category>
		<category><![CDATA[E]]></category>
		<category><![CDATA[Kommerz]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Lesen]]></category>
		<category><![CDATA[Löschen]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[Rest]]></category>
		<category><![CDATA[Restful]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[www]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1316</guid>

					<description><![CDATA[<p>CRUD ist eine Abkürzung für Create, Read, Update und Delete, was man in der Regel im Zusammenhang mit Datenbanken und Softwareentwicklung verwendet. Diese vier Operationen sind die grundlegenden Funktionen, die eine Anwendung benötigt, um Daten &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/03/erklaerung-crud/">CRUD &#8211; Kernprinzipien für effiziente Datenmanipulation und solide Anwendungsarchitektur</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>CRUD ist eine Abkürzung für Create, Read, Update und Delete, was man in der Regel im Zusammenhang mit Datenbanken und Softwareentwicklung verwendet. Diese vier Operationen sind die grundlegenden Funktionen, die eine Anwendung benötigt, um Daten in einer Datenbank zu verwalten:</p>



<ul class="wp-block-list">
<li>Create: Erstellt einen neuen Datensatz in der Datenbank.</li>



<li>Read: Liest einen Datensatz aus der Datenbank.</li>



<li>Update: Ändert einen vorhandenen Datensatz in der Datenbank.</li>



<li>Delete: Löscht einen Datensatz aus der Datenbank.</li>
</ul>



<p>CRUD verwendet man häufig in Webanwendungen, um Benutzereingaben zu verarbeiten und Daten in einer Datenbank zu speichern, abzurufen, zu aktualisieren oder zu löschen. Es ist ein grundlegender Bestandteil vieler Anwendungen und ein wichtiger Teil der Softwareentwicklung.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Die Idee von CRUD geht zurück auf die Anfänge der Datenbanktechnologie in den 70er Jahren. Zu dieser Zeit gestalteten sich Datenbanksysteme noch sehr rudimentär und man hat sie hauptsächlich für die Verwaltung von Geschäftsdaten verwendet. Die grundlegenden CRUD-Operationen waren bereits zu dieser Zeit vorhanden, wenn auch in einer trivialeren Form.</p>



<p>In den 80er Jahren gewannen relationale Datenbanksysteme immer mehr an Popularität, was die Entwicklung von Standard-Sprachen wie <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/" target="_blank" rel="noreferrer noopener">SQL</a> (<a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/" target="_blank" rel="noreferrer noopener">Structured Query Language</a>) förderte. Diese Sprachen boten eine standardisierte Möglichkeit, Daten in einer Datenbank zu manipulieren, einschließlich der CRUD-Operationen.</p>



<p>Mit dem Aufkommen des World Wide Web und der Entwicklung von Webanwendungen in den 90er Jahren stieg die Bedeutung von CRUD signifikant an. Webanwendungen benötigen eine Möglichkeit, Daten zu speichern und abzurufen, um interaktive Funktionen bereitzustellen. Die Standardisierung von https und die Entwicklung von <a href="https://ceosbay.com/2022/12/23/erklaerung-rest/" target="_blank" rel="noreferrer noopener">REST</a>-basierten Architekturen haben CRUD zu einem wichtigen Konzept für die Entwicklung von Webanwendungen gemacht.</p>



<p>Heute ist es ein grundlegendes Konzept in der Softwareentwicklung und kann in einer Vielzahl von Anwendungen und Technologien Verwendung finden. Von relationalen Datenbanksystemen und RESTful-Webservices bis hin zu NoSQL-Datenbanken und Frontend-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Frameworks</a>. Man erwartet, dass es auch in Zukunft eine wichtige Rolle spielt, da Datenverarbeitung und -manipulation immer wichtig ist.</p>



<h3 class="wp-block-heading">CRUD im Kontext von REST</h3>



<p>Im Kontext von <a href="https://ceosbay.com/2022/12/23/erklaerung-rest/" target="_blank" rel="noreferrer noopener">REST</a> (<a href="https://ceosbay.com/2022/12/23/erklaerung-rest/" target="_blank" rel="noreferrer noopener">Representational State Transfer</a>) bezieht es sich auf die grundlegenden https-Methoden, die man für die Interaktionen mit Ressourcen verwendet:</p>



<ul class="wp-block-list">
<li>Create: Die POST-Methode verwendet man um eine neue Ressource zu erstellen.</li>



<li>Read: Die GET-Methode verwendet man um eine vorhandene Ressource zu lesen.</li>



<li>Update: Die PUT-Methode verwendet man um eine vorhandene Ressource vollständig zu aktualisieren und die PATCH-Methode um Teile einer Ressource zu aktualisieren.</li>



<li>Delete: Die DELETE-Methode verwendet man um eine vorhandene Ressource zu löschen.</li>
</ul>



<p>Diese Methoden entsprechen den CRUD-Operationen und bilden die Grundlage für die Interaktion mit RESTful-Webservices. Wenn man eine RESTful-API erstellt, sollte man die https-Methoden immer so implementieren, dass sie den CRUD-Operationen entsprechen und somit eine standardisierte und intuitive Schnittstelle für die Client-Software bereitstellen.</p>



<h3 class="wp-block-heading">CRUD außerhalb von Datenbanken und Softwareentwicklung?</h3>



<p>CRUD findet auch Anwendung in anderen Bereichen als der Datenbank- und Softwareentwicklung. Vor allem, wenn es generell um die Verwaltung von Informationen oder Objekten geht.</p>



<h3 class="wp-block-heading">Hier noch einige Beispiele für die Anwendungsgebiete von CRUD</h3>



<ul class="wp-block-list">
<li>Content Management Systeme (CMS): CMS-Plattformen wie WordPress oder Drupal verwenden CRUD, um Inhalte wie Artikel, Seiten oder Medien zu verwalten und zu bearbeiten.</li>



<li>E-Commerce-Plattformen: E-Commerce-Websites verwenden CRUD, um Produkte zu erstellen, zu lesen, zu aktualisieren und zu löschen.</li>



<li>Projektmanagement-Tools: Man nutzt es, um Projekte, Aufgaben und Aufgabenlisten in Projektmanagement-Tools wie Trello oder Asana zu verwalten.</li>



<li>IoT (Internet der Dinge): Geräte im Internet der Dinge erzeugen häufig große Datenmengen, die man speichern und abrufen muss. Man verwendet es daher, um diese Daten in einer Datenbank zu speichern und zu manipulieren.</li>



<li>Medizinische Datensätze: In der Gesundheitsbranche verwendet man CRUD-Operationen, um medizinische Datensätze zu erstellen, zu aktualisieren und zu löschen, z.B. Patientenakten, Diagnosen und medizinische Tests.</li>
</ul>



<h3 class="wp-block-heading">Fazit</h3>



<p>Zusammenfassend lässt sich sagen, dass CRUD ein grundlegendes Konzept in der Datenbank- und Softwareentwicklung ist. Es eignet sich hervorragend für die Verwaltung von Daten in einer Datenbank. Auch für die Interaktion mit einer Ressource über eine RESTful-API Schnittstelle. Die vier CRUD-Operationen (Create, Read, Update und Delete) sind die grundlegenden Funktionen. Die benötigt eine Anwendung immer. Sowohl um Daten zu verwalten als auch zu manipulieren.</p>



<p>CRUD hat in den letzten Jahrzehnten eine wichtige Rolle in der Entwicklung von Webanwendungen, CMS, E-Commerce-Plattformen, Projektmanagement-Tools, IoT und der Gesundheitsbranche gespielt. Dies ändert sich voraussichtlich auch voraussichtlich nicht. Lediglich die Geschwindigkeit als auch die Effizient werden sich der Technologie voraussichtlich anpassen. Es ist ein wichtiger Bestandteil der meisten Anwendungen und ein grundlegendes Konzept, welches jeder Entwickler verstehen sollte.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/04/03/erklaerung-crud/">CRUD &#8211; Kernprinzipien für effiziente Datenmanipulation und solide Anwendungsarchitektur</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/04/03/erklaerung-crud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1316</post-id>	</item>
		<item>
		<title>SonarQube &#8211; Das Code-Qualitätsmanagement-Tool</title>
		<link>https://ceosbay.com/2023/03/17/erklaerung-sonarqube/</link>
					<comments>https://ceosbay.com/2023/03/17/erklaerung-sonarqube/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 17 Mar 2023 16:12:48 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[1061]]></category>
		<category><![CDATA[1998]]></category>
		<category><![CDATA[Analyse]]></category>
		<category><![CDATA[Anwendung]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Checkstyle]]></category>
		<category><![CDATA[Cobol]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Codebasis]]></category>
		<category><![CDATA[Entwicklungsprozess]]></category>
		<category><![CDATA[Fazit]]></category>
		<category><![CDATA[FindBugs]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[IEEE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Komplexität]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[PMD]]></category>
		<category><![CDATA[Prüfung]]></category>
		<category><![CDATA[Qube]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Quelle]]></category>
		<category><![CDATA[Quelltext]]></category>
		<category><![CDATA[Rechner]]></category>
		<category><![CDATA[Richtlinien]]></category>
		<category><![CDATA[Schnittstellen]]></category>
		<category><![CDATA[Schulden]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Sonar]]></category>
		<category><![CDATA[SonarQube]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Standard]]></category>
		<category><![CDATA[Sting]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Überprüfen]]></category>
		<category><![CDATA[Zyklomatisch]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1176</guid>

					<description><![CDATA[<p>SonarQube früher Sonar, ist eine Plattform für die statische Analyse und Bewertung der technischen Qualität von Quelltext bzw. Code. SonarQube analysiert den Quelltext hinsichtlich verschiedener Qualitätsmerkmale und stellt die Ergebnisse über eine Website dar. SonarQube &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/17/erklaerung-sonarqube/">SonarQube &#8211; Das Code-Qualitätsmanagement-Tool</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>SonarQube früher Sonar, ist eine Plattform für die statische Analyse und Bewertung der technischen Qualität von Quelltext bzw. Code. SonarQube analysiert den Quelltext hinsichtlich verschiedener Qualitätsmerkmale und stellt die Ergebnisse über eine Website dar. SonarQube ist in <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a> programmiert, unterstützt aber neben der Analyse von <a href="https://ceosbay.com/2023/03/16/erklaerung-java/" target="_blank" rel="noreferrer noopener">Java</a>-Anwendungen mit entsprechenden Plugins unter anderem die Programmiersprachen <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>, Groovy, Flex, PHP, PL/SQL, C#, Cobol und die des .Net-Frameworks.</p>



<h3 class="wp-block-heading">Wie funktioniert SonarQube?</h3>



<p><strong>SonarQube besteht aus drei Komponenten</strong></p>



<ol class="wp-block-list" type="1">
<li>Einem Modul für Build-Management-Tools wie <a href="https://ceosbay.com/2022/12/22/erklaerung-maven/" target="_blank" rel="noreferrer noopener">Apache Maven</a> oder Apache Ant. (Hauptsächlich für die Analyse des Quelltextes hinsichtlich verschiedener Qualitätsmerkmale.)</li>



<li>Einer Datenbank, für Speicherung der Ergebnisse der Qualitätsanalyse.</li>



<li>Einer Website für die visuelle Darstellung, Auswertung und das Management der Qualitätsanalyse-Ergebnisse.</li>
</ol>



<p>Durch diese Architektur kann man sowohl eine Prüfung des Quelltextes auf dem Entwicklungsrechner ermöglichen als auch eine Einbindung von SonarQube in den Entwicklungsprozess gewährleisten. Dies unterstützt die Ermittlung der Qualitätsmetriken auf einem Build-Server für die kontinuierliche Integration.</p>



<p>SonarQube analysiert den Quelltext hinsichtlich der Abdeckung durch Modultests, checkt den Quellcode nach doppeltem Code und in Bezug auf die Komplexität. Auch werden unter anderem potenzielle Fehler im Code, Kodier-Richtlinien als auch Kommentare überprüft.</p>



<h3 class="wp-block-heading">Modularer Aufbau und Erweiterungen</h3>



<p>SonarQube ist modular aufgebaut und integriert selbst einige bekannte Entwicklungswerkzeuge zur Analyse der Codequalität, darunter PMD und Checkstyle für die Erkennung von doppeltem Code für die Prüfung von Kodier-Richtlinien. Damit wird unter anderem auch nach ineffizientem Code gesuche. FindBugs dient beispielsweise zum Aufdecken potenzieller Fehler sowie Surefire und Cobertura zur Messung der Qualität der Modultests.</p>



<p>Diese Werkzeuge nutzen entsprechend ihrer Natur und Einsatzgebiete Metriken, um die jeweiligen Auswertungen bzw. Statistiken zu erzeugen. Der Name „Metrik“ trägt jedoch wenig Bedeutung von dem in sich, was eine Metrik ausmacht. Schlägt man nämlich nach woher der Name kommt, landet man im Lateinischen: „ars metrica„, die Lehre von den Maßen. Fragt man jedoch das Institute of Electrical and Electronics Engineers, was eine Softwaremetrik ist, erhält man folgende Antwort:</p>



<p>„software quality metric: A function whose inputs are software data and whose output is a single numerical value that can be interpreted as the degree to which software possesses a given attribute that affects its quality.“ „Eine Softwarequalitätsmetrik ist eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet, der als Erfüllungsgrad einer Qualitätseigenschaft der Software-Einheit interpretierbar ist.“ – IEEE Standard 1061, 1998</p>



<p>Folglich bedeutet dies, dass es sich bei einer Metrik am Ende des Tages um eine Funktion handelt, die für beliebige Eingaben Zahlen erzeugt. Die Beschaffenheit ist so, dass sie, nur so&nbsp;</p>



<p>lange sie von derselben Funktion erzeugt wurden, vergleichbar sind. Dadurch kann man Rückschlüsse auf die Eingabe mit Hinblick auf die Funktion erzielen.</p>



<p>Ein Beispiel dafür ist die McCabe-Metrik, auch zyklomatische Komplexität genannt. Diese sehr grundlegende Metrik berechnet die Anzahl der unterschiedlichen Pfade durch ein Stück Code. Die Formel ist relativ einfach: Es wird die Anzahl an Kontrollstrukturen wie if, while, case und boolescher Operatoren wie &amp;&amp; und || summiert und nochmals mit 1 addiert. Möchte man diese Information nochmals anhand eines Beispiels betrachten, sieht es folgendermaßen aus:</p>



<pre class="wp-block-code"><code>String nameDesWochenTags(int nr) {
  switch(nr) {
    case 1: return "Montag";
    case 2: return "Dienstag";
    case 3: return "Mittwoch";
    case 4: return "Donnerstag";
    case 5: return "Freitag";
    case 6: return "Samstag";
    case 7: return "Sonntag";
  }
  return "";
}</code></pre>



<p>Diese relativ einfache Methode gibt den Namen eines Wochentages entsprechend seiner 1-indizierten Position innerhalb der Woche zurück. Ihre zyklomatische Komplexität beträgt 8. Zumal 1 + 7 x case. Dies ist ein verhältnismäßig hoher Wert. Ein Maximalwert von 10 gilt als allgemein akzeptiert und ausreichend erprobt. Um also die Komplexität dieser Methode zu verringern, findet eine Refaktorisierung statt, die folgendermaßen aussehen kann:</p>



<pre class="wp-block-code"><code>String nameDesWochenTags(int nr) {
  String&#91;] names = new String&#91;] {
    "Montag", "Dienstag", "Mittwoch",
    "Donnerstag", "Freitag", "Samstag",
    "Sonntag"
  };
  if(nr) &gt; 0 &amp;&amp; &lt;= names.length) {
    return names&#91;nr - 1];
  }
  return "";
}</code></pre>



<p>Die zyklomatische Komplexität dieser Methode beträgt 3. Zumal 1 + 1 x if + 1 x &amp;&amp;. Durch den unterschiedlichen Ansatz kann man die Komplexität verringern. Dennoch ist es relativ unstrittig, dass die erste Version leichter zu verstehen ist.</p>



<p>Will man nun also alle Tools gemeinsam benutzen, muss man alle konfigurieren und ihre Ergebnisse zusammenführen, damit sich ein Gesamtbild darstellen lässt. Außerdem kommt es dabei zwangsweise zu Dopplungen in ausgewerteten Metriken oder anderen Kennzahlen. PMD beispielsweise besitzt durch seinen relativ vagen Aufgabenbereich Überschneidungen im Hinblick auf Codestil mit checkstyle, während es aber auch genauso wie FindBugs auf toten Code achtet. An solchen und weiteren Stellen kann SonarQube Verbesserungen herbeiführen.</p>



<p>Neben der visuellen Anzeige der Ergebnisse der einzelnen Bereiche, ermöglicht SonarQube das Drill-Down der Ergebnisse bis auf die einzelne Metrik und Codezeile sowie die Verknüpfung der einzelnen Metriken sowie die Darstellung ihrer historischen Entwicklung in einer recht übersichtlichen grafischen Oberfläche.</p>



<p>Über einen ausgeklügelten Plugin-Mechanismus ist eine relativ einfache Integration von Erweiterungen möglich. Neben den Erweiterungen für die Analyse zusätzlicher Programmiersprachen gibt es Plugins für ergänzende Metriken, Governance, Schnittstellen zu Entwicklungsumgebungen, Visualisierungen, Integration sowie zur Berechnung der technischen Schuld(en).</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ich arbeite noch nicht so lange mit SonarQube. Um genau zu sein, habe ich es mir erst heute das erste Mal angeschaut. Zusammenfassend kann ich folgendes sagen:</p>



<p>Statistiken sind zwar interessant und es kann Spaß machen, sich diese anzuschauen, doch ist eine statische Codeanalyse erst dann wirklich vollständig, wenn ein Mindestmaß an Interpretation hineingeflossen ist.</p>



<p>Die Codeanalyse liefert ein gutes Gefühl für die Codebasis. Erst so kann man fundierte Aussagen darüber treffen, welche Bereiche des Projekts besonders gefährdet, instabil oder verbesserungsfähig sind.</p>



<p>Regelmäßige Analysen können die Teammotivation erhöhen. Eine positive Issuebilanz am Ende eines Sprints und aufwärtszeigende Historiengraphen sollten gute Treiber für eine Gruppe Entwickler und ein Beweis für die eigene Leistung sein.</p>



<p>Alles in allem sind Analyseergebnisse immer gut als Argumentationsgrundlage. Mit Hilfe der Projekthistorie, die eine Auswahl gut darstellbarer Kennzahlen beinhaltet, kann man vor Kunden oder Entscheidern besser über ein eventuell nötiges technisches Release diskutieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/17/erklaerung-sonarqube/">SonarQube &#8211; Das Code-Qualitätsmanagement-Tool</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/17/erklaerung-sonarqube/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1176</post-id>	</item>
		<item>
		<title>IntelliJ IDEA &#8211; Die intelligente und leistungsstarke Entwicklungsumgebung</title>
		<link>https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/</link>
					<comments>https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 10 Mar 2023 18:34:56 +0000</pubDate>
				<category><![CDATA[Big-Data]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Cython]]></category>
		<category><![CDATA[Dart]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Entwicklungsumgebung]]></category>
		<category><![CDATA[Export]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Haml]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IDEA]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Intelli]]></category>
		<category><![CDATA[IntelliJ]]></category>
		<category><![CDATA[J]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[Less]]></category>
		<category><![CDATA[Manager]]></category>
		<category><![CDATA[Markdown]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python and Jython]]></category>
		<category><![CDATA[Ruby and JRuby]]></category>
		<category><![CDATA[Rust]]></category>
		<category><![CDATA[Sass]]></category>
		<category><![CDATA[Scala]]></category>
		<category><![CDATA[SCSS]]></category>
		<category><![CDATA[Slim]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testfall]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[TypeScript]]></category>
		<category><![CDATA[Ultimate]]></category>
		<category><![CDATA[Umfeld]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[XPath]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[YAML]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1084</guid>

					<description><![CDATA[<p>IntelliJ IDEA ist eine integrierte Entwicklungsumgebung (IDE) des Softwareunternehmens JetBrains. Es existieren derzeit zwei verschiedene Editionen. Zum einen die kostenpflichtige Ultimate Edition und die kostenfreie Community Edition. Features Im Wesentlichen unterscheiden sich die beiden Versionen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/">IntelliJ IDEA &#8211; Die intelligente und leistungsstarke Entwicklungsumgebung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>IntelliJ IDEA ist eine integrierte Entwicklungsumgebung (IDE) des Softwareunternehmens JetBrains. Es existieren derzeit zwei verschiedene Editionen. Zum einen die kostenpflichtige Ultimate Edition und die kostenfreie Community Edition.</p>



<h3 class="wp-block-heading">Features</h3>



<p>Im Wesentlichen unterscheiden sich die beiden Versionen im Funktionsumfang. Hierzu von der Ultimate Version unterstützte Sprachen: Java, Groovy, Kotlin, Scala, Python and Jython, Cython, <a href="https://ceosbay.com/2022/12/19/erklaerung-ruby/" target="_blank" rel="noreferrer noopener">Ruby</a> and JRuby, Rust, PHP, Go, Dart, SQL, HTML, XML, JSON, YAML, XSL, XPath, Markdown, <a href="https://ceosbay.com/2022/11/12/javascript/" target="_blank" rel="noreferrer noopener">JavaScript</a>, TypeScript, CSS, Sass, SCSS, Less, Haml, Slim, Liquid</p>



<p>Wobei zu beachten ist, dass die Ultimate Edition von IntelliJ IDEA neben den nativ unterstützten Sprachen, einige der Sprachen lediglich durch den Einsatz von PlugIns unterstützt. In der Community Edition sind auch einige Sprachen gar nicht berücksichtigt. Eine explizite bzw. genaue Differenzierung möchte ich in diesem Beitrag nicht vornehmen. Also sind die Angaben bzgl. der Features mit Vorsicht zu genießen.</p>



<p>Auch ist zu beachten, dass lediglich die Ultimate Edition von IntelliJ IDEA die umfangreiche <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/" target="_blank" rel="noreferrer noopener">Framework</a> Unterstützung mitbringt. Im Enterprise Umfeld sind diese in der Regel unabdingbar.</p>



<p>Auch bei den Build Tools gibt es Unterschiede. Besonders auffällig ist dabei die Tatsache, dass <a href="https://ceosbay.com/2022/11/11/node-js-mit-npm-auf-macos/" target="_blank" rel="noreferrer noopener">npm</a> zwar in der Ultimate Edition läuft, jedoch nicht in der Community Edition. Ich habe es auch in der Community Version zum Laufen gebracht. Dennoch ist dies mit Vorsicht zu genießen, da ich aufgrund von Fehlern dennoch auf die Ultimate Edition geswitched bin.</p>



<h3 class="wp-block-heading">Versionskontrolle</h3>



<p>Auf die Funktionsfähigkeit bei der Versionskontrolle bzw. bei <a href="https://ceosbay.com/2022/11/30/erklaerung-cloud-computing/" target="_blank" rel="noreferrer noopener">Cloud</a>-basierten Diensten wie <a href="https://ceosbay.com/2022/11/18/erklaerung-git/" target="_blank" rel="noreferrer noopener">Git</a>, <a href="https://ceosbay.com/2022/11/19/erklaerung-github/" target="_blank" rel="noreferrer noopener">GitHub</a>, Subversion, Mercurial und Team Foundation Server kann man sich verlassen. Bei Perforce ist man zumindest in der Community Edition verlassen.</p>



<h3 class="wp-block-heading">Deployment</h3>



<p>Während die Community Edition lediglich <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/" target="_blank" rel="noreferrer noopener">Docker</a> für das Deployment unterstützt sind es mit der Ultimate Edition <a href="https://ceosbay.com/2022/12/24/erklaerung-kubernetes/" target="_blank" rel="noreferrer noopener">Kubernetes</a>, Java Applications Servers als auch <a href="https://ceosbay.com/2022/10/28/laufzeitumgebung-fuer-softwareanwendungen-docker/" target="_blank" rel="noreferrer noopener">Docker</a>.</p>



<h3 class="wp-block-heading">Codevervollständigung</h3>



<p>Die Codevervollständigung ist eine Funktion, die vor allem Programmieranfängern sehr entgegenkommt. Nur wenige werden als Coder geboren, oder!? Da vergisst man schon mal schnell eine import-Anweisung, IDEA aber nicht. Meistens weist IntelliJ einen auf den Fehler hin und schlägt Korrekuren vor. Dies gilt auch für nicht verwendete Importe, die IntelliJ entsprechend einer manuellen Zustimmung entsorgt.</p>



<p>Es nimmt einem den Grossteil der Tipparbeit ab, damit man sich dem Programmdesign widmen kann und nicht über korrekt formulierte JAVA-Anweisungen nachdenken muss. Ich muss gestehen, dass ich mich bisher noch nicht wirklich mit JAVA auseinandergesetzt habe. Doch dies hole ich derzeit nach und auch darüber gibt es in der nahen Zukunft einen Beitrag.</p>



<h3 class="wp-block-heading">Code Layout Manager</h3>



<p>Den Code Layout Manager weiß man spätestens dann zu schätzen, wenn man im eigenen Quelltext nicht mehr durchblickt oder fremden Quelltext bearbeiten muss. Dann kann man Text markieren und von IDEA neu formatieren lassen. Dies geht relativ intelligent von statten.</p>



<h3 class="wp-block-heading">Refactoring</h3>



<p>Auch die Refactoringfähigkeiten von IntelliJ sind nicht zu unterschätzen. Wer die Funktionen einmal in Aktion erlebt hat, der möchte sie nicht mehr missen. Dazu gehören u.A. das Renaming, Move, Introduce Explaining Variable, Extract Method usw.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ich arbeite noch nicht lange mit dem Programm. Doch IntelliJ hat scheinbar in enger Kooperation mit den Anwendern ein relativ gutes Produkt entwickelt, mit dem man gut im Enterprise Umfeld arbeiten kann. Besonders die große PlugIn Bibliothek als auch die individuelle Erweiterbarkeit durch eine offen gelegte API haben mir persönlich sehr gefallen. Dadurch ist es auch möglich eigene PlugIns für IntelliJ zu schreiben und diese zu selbst zu implementieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/">IntelliJ IDEA &#8211; Die intelligente und leistungsstarke Entwicklungsumgebung</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/10/erklaerung-intellij-idea/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1084</post-id>	</item>
		<item>
		<title>Kali Linux &#8211; Die ultimative Waffe für Cybersicherheit</title>
		<link>https://ceosbay.com/2022/12/31/erklaerung-kali-linux/</link>
					<comments>https://ceosbay.com/2022/12/31/erklaerung-kali-linux/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 31 Dec 2022 15:49:52 +0000</pubDate>
				<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Aircrack]]></category>
		<category><![CDATA[Attacke]]></category>
		<category><![CDATA[Black]]></category>
		<category><![CDATA[Boot]]></category>
		<category><![CDATA[Burp]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Cyber]]></category>
		<category><![CDATA[Cyberkriminalität]]></category>
		<category><![CDATA[Cybersicherheit]]></category>
		<category><![CDATA[Daten]]></category>
		<category><![CDATA[Datenverlust]]></category>
		<category><![CDATA[Dekstop]]></category>
		<category><![CDATA[Engineer]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Ethisch]]></category>
		<category><![CDATA[Ghidra]]></category>
		<category><![CDATA[Grenzen]]></category>
		<category><![CDATA[Hat]]></category>
		<category><![CDATA[IDA Pro]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Kali]]></category>
		<category><![CDATA[Korrekt]]></category>
		<category><![CDATA[Legal]]></category>
		<category><![CDATA[Legaler]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Metasploit]]></category>
		<category><![CDATA[mobil]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Newbie]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[Pen]]></category>
		<category><![CDATA[Penetration]]></category>
		<category><![CDATA[Penetrationstest]]></category>
		<category><![CDATA[Penetrationstests]]></category>
		<category><![CDATA[Pentesting]]></category>
		<category><![CDATA[Radare2]]></category>
		<category><![CDATA[Rahmen]]></category>
		<category><![CDATA[Reverse]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sicherung]]></category>
		<category><![CDATA[Skills]]></category>
		<category><![CDATA[Smartphone]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQLMap]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Tool-Sammlung]]></category>
		<category><![CDATA[Verantwortung]]></category>
		<category><![CDATA[Webanwendungssicherheit]]></category>
		<category><![CDATA[Werkzeug]]></category>
		<category><![CDATA[Werkzeuge]]></category>
		<category><![CDATA[White]]></category>
		<category><![CDATA[Whitehat]]></category>
		<category><![CDATA[Wireshark]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[ZAP]]></category>
		<category><![CDATA[Ziel]]></category>
		<category><![CDATA[Zielcomputer]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1488</guid>

					<description><![CDATA[<p>In der dynamischen Welt der Informationstechnologie und der zunehmenden Abhängigkeit von vernetzten Systemen ist es wichtiger denn je, sich mit IT-Sicherheit und den Werkzeugen zur Sicherung unserer Infrastruktur vertraut zu machen. In diesem Blogbeitrag nehme &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/31/erklaerung-kali-linux/">Kali Linux &#8211; Die ultimative Waffe für Cybersicherheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In der dynamischen Welt der Informationstechnologie und der zunehmenden Abhängigkeit von vernetzten Systemen ist es wichtiger denn je, sich mit IT-Sicherheit und den Werkzeugen zur Sicherung unserer Infrastruktur vertraut zu machen. In diesem Blogbeitrag nehme ich mir Kali Linux vor, ein mächtiges und weit verbreitetes Open-Source-Betriebssystem für IT-Sicherheitsexperten und Hacker.</p>



<h3 class="wp-block-heading">Kurze Zeitreise</h3>



<p>Kali Linux ist ein <a href="https://ceosbay.com/2022/12/05/erklaerung-debian-linux/" target="_blank" rel="noreferrer noopener">Debian</a>-basiertes Betriebssystem, das ursprünglich von Offensive Security entwickelt wurde. Es hat seinen Ursprung in BackTrack Linux. Einem anderen beliebten Penetrationstesting-Betriebssystem, welches 2006 Mati Aharoni und Max Moser ins Leben gerufen haben. BackTrack Linux kombinierte die besten Werkzeuge aus verschiedenen <a href="https://ceosbay.com/2022/11/22/erklaerung-linux/" target="_blank" rel="noreferrer noopener">Linux</a>-Distributionen. Man konzentrierte sich damit ebenfalls auf die Sicherheit und bot sie in einem einzigen Paket an. 2013 wurde BackTrack eingestellt und durch Kali Linux ersetzt, das heute als Standard für IT-Sicherheitsanwendungen und -lösungen gilt.</p>



<h3 class="wp-block-heading">Hauptmerkmale</h3>



<p>Kali Linux ist speziell für IT-Sicherheitszwecke entwickelt. Es verfügt über eine Fülle von vorinstallierten Tools und Anwendungen, die für verschiedene Aufgaben wie Penetrationstests, forensische Analysen, Reverse Engineering und vieles mehr nützlich sind. Einige der Hauptmerkmale von Kali Linux sind:</p>



<ul class="wp-block-list">
<li>Umfangreiche Werkzeugsammlung: Kali Linux bietet über 600 vorinstallierte Tools, die auf verschiedene Sicherheitsbereiche abzielen. Zu diesen Tools gehören Nmap, <a href="https://ceosbay.com/2022/11/24/erklaerung-wireshark/" target="_blank" rel="noreferrer noopener">Wireshark</a>, Metasploit Framework, Burp Suite, Aircrack-ng und viele mehr.</li>



<li>Regelmäßige Updates: Es wird ständig aktualisiert, um sicherzustellen, dass es über die neuesten Sicherheitspatches und Tools verfügt. Benutzer können sich auf eine aktive Community und eine engagierte Entwicklergruppe verlassen. Denn diese ist stets bemüht, die beste Erfahrung zu bieten.</li>



<li>Anpassungsfähigkeit: Es ist hochgradig anpassbar und man kann es auf einer Vielzahl von Geräten sowie Plattformen installieren. Einschließlich Desktops, Laptops, <a href="https://ceosbay.com/2023/03/04/erklaerung-raspberry-pi/" target="_blank" rel="noreferrer noopener">Raspberry Pi&#8217;s</a>, BeagleBone Black und sogar auf Smartphones (Mithilfe von Kali NetHunter) 😉</li>



<li>Live-Boot-Option: Man kann es direkt von einem USB-Stick oder einer DVD booten, ohne es auf dem Zielcomputer zu installieren.</li>



<li>Multilingual: Es unterstützt mehrere Sprachen, was den Zugang und die Zusammenarbeit für Benutzer aus verschiedenen Ländern erleichtert.</li>
</ul>



<h3 class="wp-block-heading">Anwendungsfälle</h3>



<p>Kali Linux wird hauptsächlich von Sicherheitsfachleuten, Pentestern, Netzwerkadministratoren und Cybersecurity-Enthusiasten genutzt. Einige der häufigsten Anwendungsfälle für Kali Linux sind:</p>



<ul class="wp-block-list">
<li>Penetrationstests: Es ist ein hervorragendes Werkzeug für Penetrationstests, bei denen man Schwachstellen in Netzwerken, Anwendungen und Systemen identifizieren kann. Mit den vorinstallierten Tools können IT-Sicherheitsexperten sicherheitsrelevante Tests durchführen, um potenzielle Angriffsvektoren zu entdecken und entsprechende Abwehrmaßnahmen zu ergreifen.</li>



<li>Forensische Analysen: Es enthält auch eine Reihe von Tools für forensische Analysen und Untersuchungen, die man in Fällen von Datenverlust, Cyberkriminalität oder Sicherheitsverletzungen einsetzen kann. Solche Tools ermöglichen es Sicherheitsexperten, digitale Spuren und Beweise zu finden, um Cyberkriminelle zur Rechenschaft zu ziehen und zukünftige Angriffe zu verhindern.</li>



<li>Reverse Engineering: Kali Linux enthält Tools wie Ghidra, IDA Pro und Radare2, die man für Reverse Engineering und Malware-Analysen verwenden kann. Reverse Engineering kann dazu beitragen, die Funktionsweise von Malware oder Software zu verstehen und Sicherheitslücken zu identifizieren.</li>



<li>Webanwendungssicherheit: Es bietet eine Vielzahl von Tools zur Analyse von Webanwendungen, wie beispielsweise Burp Suite, OWASP ZAP und SQLMap. Diese Tools ermöglichen das Auffinden von Schwachstellen in Webanwendungen, das Testen von Sicherheitsmechanismen und das Aufdecken von Datenlecks.</li>



<li>Drahtlose Netzwerksicherheit: Mit Kali Linux können Sicherheitsexperten auch drahtlose Netzwerke überwachen und analysieren. Tools wie Aircrack-ng, <a href="https://ceosbay.com/2022/11/24/erklaerung-wireshark/">Wireshark</a> und Kismet helfen dabei, Schwachstellen in WLANs aufzudecken und Gegenmaßnahmen zu entwickeln.</li>
</ul>



<h3 class="wp-block-heading">Fazit</h3>



<p>Kali Linux ist eine mächtige und vielseitige Linux-Distribution, speziell für IT-Sicherheitsexperten. Mit einer umfangreichen Sammlung von Tools und Anwendungen ermöglicht es eine gründliche Untersuchung und Analyse von Netzwerken, Anwendungen und Systemen. Dies bietet sich an, um Schwachstellen zu identifizieren und Sicherheitsmaßnahmen zu ergreifen. Obwohl Kali Linux in erster Linie für Fachleute konzipiert ist, können auch IT-Enthusiasten und Neulinge im Bereich der Cybersicherheit von diesem Betriebssystem profitieren. Es ist ausgezeichnet um die eigenen Fähigkeiten zu erweitern und um Systeme besser zu schützen. Dennoch ist es wichtig, die Verantwortung und rechtlichen Rahmenbedingungen bei der Nutzung von Kali Linux und seinen Tools zu beachten, um ausschließlich im Rahmen legaler und ethischer Grenzen zu agieren.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/12/31/erklaerung-kali-linux/">Kali Linux &#8211; Die ultimative Waffe für Cybersicherheit</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/12/31/erklaerung-kali-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1488</post-id>	</item>
		<item>
		<title>Open Source &#8211; Wissen teilen und vermehren</title>
		<link>https://ceosbay.com/2022/11/16/erklaerung-open-source/</link>
					<comments>https://ceosbay.com/2022/11/16/erklaerung-open-source/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 17:03:21 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Bildung]]></category>
		<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Buchempfehlung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Autor]]></category>
		<category><![CDATA[CEO]]></category>
		<category><![CDATA[Deutschland]]></category>
		<category><![CDATA[Diskriminierung]]></category>
		<category><![CDATA[Eric Raymond]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Freie]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Instagram]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Lizenz]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Neutralität]]></category>
		<category><![CDATA[Open]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Personen]]></category>
		<category><![CDATA[Produktneutralität]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Quelle]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[SHARE]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Suse]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Technologieneutralität]]></category>
		<category><![CDATA[Umwelt]]></category>
		<category><![CDATA[Uneingeschränkt]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[USA]]></category>
		<category><![CDATA[UUCP]]></category>
		<category><![CDATA[Verantwortung]]></category>
		<category><![CDATA[Weiterverbreitung]]></category>
		<category><![CDATA[Welt]]></category>
		<category><![CDATA[Werke]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=557</guid>

					<description><![CDATA[<p>Heute kümmere ich mich um eines meiner Lieblingsthemen. Dafür werde ich mir auch ein bisschen mehr Zeit nehmen. Open Source (Offene Quelle) ist ein Begriff, der ursprünglich auf Open Source Software (OSS) zurückgeht. Dabei handelt &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source &#8211; Wissen teilen und vermehren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Heute kümmere ich mich um eines meiner Lieblingsthemen. Dafür werde ich mir auch ein bisschen mehr Zeit nehmen. <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> (Offene Quelle) ist ein Begriff, der ursprünglich auf <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software (OSS) zurückgeht. Dabei handelt es sich um Quellcode bzw. Code, der für die Öffentlichkeit zugänglich ist. Folglich kann jeder den Code einsehen, anzeigen, nach Belieben verändern und verteilen. <br>Ganz im Sinne von &#8222;Das Wissen der Menschheit gehört der Welt&#8220;.</p>



<h3 class="wp-block-heading">Was ist Open Source Software?</h3>



<p><a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source Software</a> wird in der Regel dezentral, innerhalb einer Kollaboration entwickelt und stützt sich auf Peer-Review. Eine von Fachkollegen begutachtete Veröffentlichung wird als Peer(s) und Community-Produktion bezeichnet. Die Software ist nicht selten kostenlos bzw. günstiger, flexibler und langlebiger als proprietäre Produkte. Vor allem, weil sie nicht von einem einzelnen Programmierer oder Unternehmen, sondern in und durch Communities entwickelt wird. In der Regel verstehen die diese Personen etwas von ihrem Handwerk.</p>



<p>Open Source hat sich in der jüngeren Vergangenheit zu einer Bewegung geformt. Geradezu zu einer neuen Art des Arbeitens und des Lifestyles, die über die reine Softwareproduktion hinausgeht. Sie nutzt die Werte, sowie das dezentrale Produktionsmodell der Open Source Software, um neue Wege zu finden, Probleme in Communities, diversen Branchen und des Alltags zu lösen.</p>



<h3 class="wp-block-heading">Kriterien für Open Source</h3>



<p>Doch allein der freie Zugang zum Quellcode reicht nicht aus, damit eine Software als Open-Source-Software deklariert werden kann. Folgende Kriterien müssen ebenfalls erfüllt sein:</p>



<p><strong>Freie Weiterverbreitung</strong> &#8211; Die Lizenz muss es jedermann erlauben, die Software weiterzugeben oder als Teil einer Sammlung zu verkaufen. Man darf keine Lizenzgebühren verlangen.</p>



<p><strong>Zugang zum Quellcode</strong> &#8211; Die Software muss im Quelltext in verständlicher Form verfügbar sein.</p>



<p><strong>Zulässigkeit von abgeleiteten Werken</strong> &#8211; Die Lizenz muss Modifikationen und Weiterentwicklungen zulassen und deren Weitergabe unter denselben Bedingungen erlauben wie die Original-Software.</p>



<p><strong>Integrität des Quellcodes des Autors</strong> &#8211; Zwar muss die Lizenz die Weitergabe von Software mit verändertem Quellcode zulassen, darf aber verlangen, dass abgeleitete Werke einen anderen Namen oder eine andere Versionsnummer tragen müssen.</p>



<p><strong>Keine Diskriminierung von Personen oder Gruppen</strong> &#8211; Die Lizenz darf keine Personen oder Personengruppen benachteiligen.</p>



<p><strong>Keine Nutzungseinschränkung</strong> &#8211; Die Lizenz darf die Nutzung der Software nicht für bestimmte Zwecke oder Tätigkeitsbereiche ausschließen, etwa den Einsatz in Unternehmen.</p>



<p><strong>Allgemeingültigkeit der Lizenz bei Weitergabe</strong> &#8211; Die Lizenz muss für alle gelten, an die die Software weitergegeben wird. Es dürfen keine zusätzlichen Lizenzen vergeben werden.</p>



<p><strong>Produktneutralität der Lizenz</strong> &#8211; Die Lizenz darf nicht davon abhängen, ob die Software ein Bestandteil einer bestimmten Distribution ist. Sie muss auch dann gelten, wenn das Programm eigenständig verwendet oder zusammen mit anderer Software weiterverbreitet wird.</p>



<p><strong>Keine Einschränkung anderer Software</strong> &#8211; Die Lizenz darf keine Einschränkungen für andere Software enthalten, die zusammen mit der lizenzierten Software weitergegeben wird.</p>



<p><strong>Technologieneutralität</strong> &#8211; Die Lizenz darf die Weitergabe der Software nicht auf eine bestimmte Technologie beschränken.</p>



<h3 class="wp-block-heading"><strong>Wie ist Open Source entstanden?</strong></h3>



<p>In den Anfängen der Informatik, etwa in den 50er bzw. 60er Jahren, tauschten Wissenschaftler, Programmierer und Entwickler Software aus, um voneinander zu lernen und um die Informatik weiterzuentwickeln. Zu den frühen Beispielen für die freie Weitergabe von Quellcode gehören auch die von <a href="https://www.ibm.com/de-de">IBM</a> herausgegebenen Quelltexte seiner Betriebssysteme und anderer Programme sowie die SHARE-Benutzergruppe, die sich bildete, um den Austausch von Software zu erleichtern. </p>



<p>Ab den 60er Jahren nutzten ARPANET-Forscher ein offenes &#8222;Request for Comments&#8220;-Verfahren (RFC), um Rückmeldungen zu frühen Telekommunikationsnetzprotokollen zu fördern. Dies führte 1969 zur Entstehung des frühen Internets. Die gemeinsame Nutzung von Quellcode im Internet begann, als das Internet noch relativ primitiv war, mit Software, die über UUCP, Usenet, IRC (Werde ich demnächst auch mal thematisieren. Denn damit ging es auch bei mir los 😉 ) und Gopher verbreitet wurde. BSD zum Beispiel wurde auch zuerst durch Beiträge in comp.os.linux im Usenet verbreitet, wo auch die Entwicklung diskutiert wurde. Linux folgte diesem Modell. </p>



<p>Zwischen den 70er und 80er Jahren wurde der Open-Source-Gedanke schließlich von der Kommerzialisierung der Software verdrängt. Akademiker entwickelten jedoch weiterhin häufig Software in Zusammenarbeit. Beispiele hierfür sind Donald Knuth 1979 mit dem TeX-Satzsystem und Richard Stallman 1983 mit dem GNU-Betriebssystem. </p>



<p>1997 veröffentlichte Eric Raymond () das Buch „The Cathedral and the Bazaar“ (Dies ist gleichzeitig eine Buchempfehlung und stellt eine Bildungslücke dar, falls bisher noch nicht gelesen! Besonders, wenn man in der IT tätig ist!), eine reflektierende Analyse der Hacker-Gemeinschaft und der Grundsätze freier Software. Das Whitepaper fand Anfang 1998 große Beachtung. Es war ein wesentlicher Faktor, der die Netscape Communications Corporation dazu veranlasste, ihre beliebte Internet-Suite Netscape Communicator als freie Software zu deklarieren und zu veröffentlichen. Die Netscape Communications Corporation war ein unabhängiges amerikanisches Unternehmen, für Computerdienstleistungen mit Hauptsitz in Mountain View, Kalifornien, und anschließend in Dulles, Virginia. Dieser Quellcode wird später zur Grundlage von SeaMonkey, Mozilla Firefox, Thunderbird und KompoZer, die heute noch im Einsatz sind.</p>



<p>Das Vorgehen von Netscape veranlasste wiederum Eric Raymond und andere dazu, sich mit der Frage zu beschäftigen, wie man die Ideen der Free Software Foundation und die von ihr erkannten Vorteile, für die kommerzielle Softwareindustrie nutzbar machen kann. Sie kamen zu dem Entschluss, dass der soziale Aktivismus der FSF, für Unternehmen wie Netscape nicht attraktiv war. Also suchten sie nach einer Möglichkeit, der Freien-Software-Bewegung einen neuen Namen zu geben. Dies sollte das geschäftliche Potenzial des Austausches und der Zusammenarbeit an Software-Quellcode voll ausschöpfen. </p>



<p>Dies war die Geburtsstunde des Bergriffs &#8222;<a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a>&#8222;. Die Definition wurde bald darauf von Bruce Perens, einem amerikanischen Programmierer und Verfechter der Bewegung für freie Software definiert, manifestiert und veröffentlicht. Der Verleger Tim O&#8217;Reilly machte unter Anderem den Begriff <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> relativ schnell populär. Und Linus Torvalds, ein finnisch-US-amerikanischer Informatiker sowie Software-Entwickler, der bis heute als Initiator und als treibende Kraft bei der Entwicklung des Linux-Kernels gilt. Der Kernel bzw. die Arbeitsmethodik wird von vielen anderen genau so weitergeführt. Die Entwicklung wird übrigens bis heute noch von ihm koordiniert.</p>



<p>Im Februar 1998 die Gründung der OSI (<a href="https://opensource.org" target="_blank" rel="noreferrer noopener">Open Source Initiative</a>). Sie sollte die Verwendung des neuen Begriffs fördern und die Open-Source-Prinzipien propagieren. Was in Anbetracht der gegenwertigen Situation auch ganz gut gelungen ist. Vor allem wenn man bedenkt, wie viele große Konzerne damals zu <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software Stellung bezogen haben. Und wie sie heute selbst <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> Software nutzen. Dazu aber nachfolgend mehr.</p>



<p>Zur gleichen Zeit sahen sich kommerzielle Softwarehersteller zunehmend durch das Konzept der frei verteilten und erhältlichen Software und des allgemeinen Zugangs zum Quellcode einer Anwendung bedroht. Der Microsoft-Manager Jim Allchin, ein amerikanischer Informatiker und ehemalige Führungskraft bei Microsoft, erklärte 2001 öffentlich: &#8222;<a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source</a> ist ein Zerstörer geistigen Eigentums. Ich kann mir nichts Schlimmeres für das Softwaregeschäft und das Geschäft mit dem geistigen Eigentum vorstellen.&#8220; Oder Steve Ballmer (CEO von Microsoft von 2000 bis 2014), der 2001, bei einem Interview, Linux als Krebs bezeichnete.</p>



<h3 class="wp-block-heading">Open Source Software heute</h3>



<p>Freie und quelloffene Software hat Anfangs eine Rolle außerhalb des Mainstreams eine Rolle gespielt.  Also eher in der privaten Softwareentwicklung. Größere Unternehmen wie Microsoft, Google, Facebook, IBM, Oracle usw. hatten begonnen, offizielle Open Source &#8222;Plattformen&#8220; im Internet aufzubauen. Damit haben sich die ehemaligen „Gegner“ auf die ein oder andere Art der Bewegung für freie und quelloffene Software angeschlossen. </p>



<p>Dadurch hat sich die Sichtweise auf Open-Source-Software grundlegend geändert. Hinzu kommt, dass auch von denen Konzernen viel Kapital und Resourcen in die Entwicklung von Open Source Software fließen. Zu den Mitwirkenden, Geldgebern und gemeinnützigen Organisationen an Open-Source-Projekten gehören unter anderem die Linux Foundation, die WordPress Foundation, Creative Commons, das Android Open Source Project und die Mozilla Foundation. Auch Epic Games hat in den letzten Jahren nicht wenig Geld in Blender und dessen Weiterentwicklung gesteckt. Doch das Thema Blender werde ich in den kommenden Wochen auch in Angriff nehmen und in einem Beitrag festhalten.</p>



<h3 class="wp-block-heading">Beliebte Open Source Software &#8222;Lizenzen&#8220;</h3>



<p><strong>MIT License©</strong>: MIT License ist eine freie Softwarelizenz. Nutzern ist es erlaubt, den Originalcode mit sehr wenigen Einschränkungen zu verändern.<br><strong>GNU General Public© (GPL)</strong>: GNU ist eine Reihe von Lizenzen für freie Software. Es gibt Endbenutzern die Möglichkeit, Software auszuführen, zu untersuchen, weiterzugeben und zu verändern.<br><strong>BSD</strong>: Die BSD Lizenz hat weniger Beschränkungen für Entwickler. Es erlaubt den Nutzern, den Code zu verwenden und zu verändern, ohne die Änderungen weitergeben zu müssen.<br><strong>Ubuntu®</strong>: Ubuntu ist eine Linux-Distribution, die aus freier und Open-Source-Software besteht. Es wird primär in den Bereichen Desktop, Cloud und IoT veröffentlicht.<br><strong>Red Hat</strong>: Eine Open-Source-Softwareplattform und ein IBM-Derivat, das eine Vielzahl von Produktivitätsanwendungen für Unternehmen bietet.<br><strong>Blender</strong>: Blender ist eine freie, mit der GPL lizenzierte 3D-Grafiksuite, mit der sich 3D-Körper modellieren, texturieren und animieren lassen. Die Inhalte finden in Grafiken, Animationen und Software Anwendung. Geschaffene Bildsynthesen können mithilfe des integrierten Compositors und Videoschnittprogramms nachbearbeitet werden. Programmiersprachen, die zum Einsatz kommen sind C und C++. Python wird als Skriptsprache verwendet.<br><strong>Mozilla</strong>: Die Mozilla Public License ist eine freie und quelloffene schwache Copyleft-Lizenz. Für die meiste Software der Mozilla Foundation wie Firefox und Thunderbird. Die MPL-Lizenz ist von Mozilla und die Entwicklung bzw. Pflege, findet In-House statt.<br><strong>SUSE</strong>: SUSE Linux basiert auf einem Open-Source-Linux-Kernel und wird mit System- und Anwendungssoftware vertrieben.<br><strong>LibreOffice</strong>: Ein Open-Source-Büroprogramm, das den Microsoft Office-Programmen ähnelt.<br><strong>Apache®</strong>: Die Apache License ist eine freie Softwarelizenz. Sie erlaubt den Nutzern, die Software für jeden Zweck zu verwenden, zu verändern und zu verbreiten.<br><strong>Berkeley Software Distribution</strong>: Ist ein Betriebssystem, das auf Research Unix basiert. Die Computer Systems Research Group an der University of California, Berkeley, entwickelt und kümmert sich um den Vertrieb.<br><strong>MySQL™</strong>: MySQL ist ein Open-Source-Datenbankverwaltungssystem mit zwei separaten Lizenzen &#8211; der MySQL Standard Edition und der MySQL Enterprise Edition.</p>



<h3 class="wp-block-heading">Nachteile von Open Source Software</h3>



<p>Obwohl Open Source Software und die Lizenzen enorm zum Wachstum der Softwareentwicklung und der Entwicklung der internationalen IT-Landschaft beigetragen haben, wird ihre weite Verbreitung nicht von Wenigen als negativ erachtet. Dies wird auf die fehlende Regulierung zurückgeführt, die zu zahlreichen juristischen Problemen führen kann. Auch bezüglich der Definition, was als Open Source und was Closed Source deklariert werden kann, stellt einen wesentlichen Problemfaktor dar. </p>



<p>Um diesen Umständen entgegenzuwirken hat die Open-Source-Gemeinschaft Klassifizierungsschemata eingeführt, die in der Regel auf Copyleft-Bestimmungen (Um ein Programm unter das Copyleft zu stellen, wird es zuerst unter ein Copyright gestellt; danach werden als Rechtsmittel Vertriebsbestimmungen hinzugefügt, die es allen erlauben, den Quellcode des Programms oder jedes davon abgeleiteten Programms zu verwenden, zu ändern und weiter zu verteilen) beruhen, um geeignete Anwendungsfälle für das Open-Source-Softwareentwicklungsmodell zu bestimmen. </p>



<p>Das US-Bundesberufungsgericht, entschied darüber hinaus, dass OSS-Lizenzen rechtsverbindliche Anforderungen für die Nutzung von urheberrechtlich geschütztem Material enthalten müssen. Findet durch einen Benutzer ein Regelverstoß gegen diese offenen Standards statt, verliert er seine Lizenz und verstößt damit gegen die Norm für Urheberrechtsverletzungen, ähnlich wie bei der unbefugten Nutzung einer proprietären Lizenz. Die Folgen dafür können gravierend sein.</p>



<h3 class="wp-block-heading">Übrigens: Open Source vs. freie Software</h3>



<p>“Open Source” und “Freie Software” bezeichnen im Wesentlichen das Gleiche. Der Begriff “Freie Software” ist lediglich etwas älter (1985) und stammt von der Free Software Foundation. Der Gedanke der frei zugänglichen Software ist gleich, nur die Motivation dahinter ist verschieden. Bei Open Source ist es der praktische Nutzen, der durch die gemeinsame Weiterentwicklung von Software entsteht. Bei der freien Software ist es die Ideologie dahinter und der Nutzen für den Anwender.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Ich bin davon überzeugt, dass das Wissen der Menschheit der Welt gehört und durch das Wissen auch die Vermittlung von Bildung besser vonstattengehen kann. So dient das Wissen auch der Fähigkeitsvermittlung, bei der eine Gesamtheit der Fähigkeiten zum Tragen kommt. Bildung wiederum hat auch eine moralische Funktion. </p>



<p>Daher kann durch Bildung die Voraussetzung dafür geschaffen werden, dass Menschen eher Verantwortung für sich selbst, sowie für andere in ihrem Umfeld und ihrer Umwelt übernehmen. Kurz: Mithilfe von Wissen und Bildung kann ein Mensch eher zwischen Gut und Böse unterscheiden. Ohne Wissen und Bildung funktioniert keine moderne Software oder Demokratie. Und dies sind nun einmal die Schlüssel für ein gutes Miteinander, zu Arbeit und Beruf in unserer heutigen Zeit. </p>



<p>Deshalb muss sowohl Wissen als auch die Bildung kostenlos zugänglich gemacht werden &#8211; Damit auch Quellcodes von Software. Dies alles mag zwar auf dem ersten Blick etwas verzerrt wirken, doch wenn man bedenkt, dass viele Menschen ihr Wissen heutzutage fast ausschließlich aus dem Internet bzw. von den digitalen Medien beziehen, kann es meiner Meinung nach durchaus Sinn machen. Aber ich lasse mich auch gerne jederzeit eines Besseren belehren 😉</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open Source &#8211; Wissen teilen und vermehren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2022/11/16/erklaerung-open-source/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">557</post-id>	</item>
		<item>
		<title>SQL &#8211; Structured Query Language &#8211; Industriestandard-Sprache zur Verwaltung und Manipulation von relationalen Datenbanken</title>
		<link>https://ceosbay.com/2022/10/29/structured-query-language-sql/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 29 Oct 2022 13:13:00 +0000</pubDate>
				<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Datenbanksprache]]></category>
		<category><![CDATA[DBMS]]></category>
		<category><![CDATA[DCL]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SchemaSQL]]></category>
		<category><![CDATA[SEQUEL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[TransactSQL]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=109</guid>

					<description><![CDATA[<p>Was ist SQL? Die Abkürzung SQL steht für den Begriff Structured Query Language und bezeichnet eine Sprache für die Kommunikation mit relationalen Datenbanken. Mit SQL-Befehlen lassen sich Daten relativ einfach einfügen, verändern oder löschen. Was &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL &#8211; Structured Query Language &#8211; Industriestandard-Sprache zur Verwaltung und Manipulation von relationalen Datenbanken</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Was ist SQL?</h3>



<p>Die Abkürzung SQL steht für den Begriff Structured Query Language und bezeichnet eine Sprache für die Kommunikation mit relationalen Datenbanken. Mit SQL-Befehlen lassen sich Daten relativ einfach einfügen, verändern oder löschen.</p>



<h3 class="wp-block-heading" id="Datenbank">Was ist eine Datenbank?</h3>



<p>Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen.</p>



<h3 class="wp-block-heading">Wie wird eine Datenbank genutzt?</h3>



<p>In der Regel nutzt man ein sogenanntes Datenbank-Managementsystem (DBMS), eine Systemsoftware zum Erstellen und Verwalten von Datenbanken. Mit einem solchen Programm können Nutzer Daten in eine Datenbank einpflegen, um sie zu sammeln, zu lesen, zu aktualisieren und zu löschen. </p>



<h3 class="wp-block-heading">Datenbank-Managementsysteme?</h3>



<p>Ja, plural! Man unterscheidet zwischen relationalen (SQL bzw. RDMS) und nicht relationalen (NoSQL &#8222;Not only SQL&#8220;) Datenbanken bzw. Datenbanksystemen. Relationale Datenbanken modellieren Daten als Datensätze in Zeilen und Tabellen mit logischen Verknüpfungen zwischen ihnen. Und NoSQL verwendet stattdessen ein Speichermodell, das für die spezifischen Anforderungen des gespeicherten Datentyps optimiert ist. Daten können beispielsweise als einfache Schlüssel-Wert-Paare, als JSON-Dokumente oder als Diagramm mit Edges und Scheitelpunkten eingepflegt werden. Bekannte Implementierungen sind Riak, Apache Cassandra, CouchDB, MongoDB und Redis.<br>Was wir definitiv festhalten können &#8211; NoSQL Systeme können SQL nicht verstehen 🙂</p>



<h3 class="wp-block-heading">Funfact Aussprache: S-Q-L / SEQUEL</h3>



<p>Die Sprache wurde in den 70er Jahren von <a href="https://www.ibm.com/de-de" target="_blank" rel="noreferrer noopener">IBM</a> entwickelt und als SEQUEL bezeichnet. Das Akronym für Structured English Query Language. Es wurde aber später in SQL abgeändert, da &#8222;SEQUEL&#8220; eine Marke des britischen Flugzeugherstellers Hawker Siddeley war.</p>



<h3 class="wp-block-heading">Eigentümlichkeiten von SQL</h3>



<p>Die Datenbanksprache zeichnet sich durch eine einfach gehaltene Syntax aus. Sie basiert auf der relationalen Algebra und besteht semantisch im Wesentlichen aus englischen Sprachelementen. SQL ist standardisiert und kann plattformübergreifend mit vielen Datenbanksystemen genutzt werden. Es existieren verschiedene Dialekte (<a href="https://ceosbay.com/2022/10/31/ubuntu-linux-starten-und-nutzen-mysql-server/">MySQL</a>, PostgreSQL, SchemaSQL, Transact-SQL), die eine hundertprozentige Kompatibilität verhindern. Die meisten Datenbanksysteme verfügen über Schnittstellen und ermöglichen den Zugang zu den gespeicherten Daten über die universelle SQL-Datenbanksprache. Die eigentlichen Abfragen sind mit wenig Aufwand zu realisieren, da für einen Großteil der Anweisungen nur wenige Befehle erforderlich sind.</p>



<h3 class="wp-block-heading">Kategorien der SQL-Befehle</h3>



<p>Neben den Befehlen zum Anlegen, Bearbeiten und Löschen von Daten besitzt SQL Elemente für die Definition von Datenstrukturen und zur Abfrage von Datenbeständen. Grundsätzlich kann zwischen drei verschiedenen Kategorien von SQL-Befehlen unterschieden werden. Diese Kategorien sind:</p>



<ul class="wp-block-list">
<li>DML-Befehle (Data Manipulation Language)</li>



<li>DDL-Befehle (Data Definition Language)</li>



<li>DCL-Befehle (Data Control Language)</li>
</ul>



<p>Während DML-Befehle zum Bearbeiten, Einfügen oder Löschen von Daten oder für den lesenden Zugriff auf die Datenbank vorgesehen sind, lassen sich die DDL-Befehle für die Definition des Schemas einer Datenbank verwenden. DCL-Befehle dienen hingegen der Rechtevergabe oder zur Kontrolle von Transaktionen. Abfragen von Daten aus der Datenbank werden mit dem Befehl „SELECT“ eingeleitet, dem weitere Befehle wie „FROM“ oder „WHERE“ folgen. Im Rahmen einer Abfrage ermöglicht SQL, das Ergebnis in Tabellenform auszugeben und diese Daten als neue Tabelle weiterzuverwenden oder zu bearbeiten.</p>



<h3 class="wp-block-heading">Beispiele für SQL-Befehle der verschiedenen Kategorien</h3>



<p><strong>Wichtige DML-Befehle<br></strong>&#8211; SELECT FROM … für das Lesen von Daten aus Tabellen<br>&#8211; DELETE FROM … für das Löschen von Daten in Tabellen<br>&#8211; INSERT INTO … für das Einfügen von Daten in Tabellen</p>



<p><strong>Wichtige DDL-Befehle<br></strong>&#8211; CREATE TABLE … &#8211; für das Anlegen von Tabellen<br>&#8211; DROP INDEX … für das Löschen eines Index<br>&#8211; ALTER TABLE … für das Ändern von Tabellen</p>



<p><strong>Wichtige DCL-Befehle<br></strong>&#8211; GRANT ON TO … für die Weitergabe von Rechten an einer Tabelle zu einem bestimmten User<br>&#8211; REVOKE … für das Widerrufen von Rechten</p>



<h3 class="wp-block-heading">Datentypen in SQL</h3>



<p>Mit Befehlen wie „CREATE TABLE“ oder „ALTER TABLE“ lassen sich per Tabellen und Spalten anlegen, für die jeweils ein Datentyp zu definieren ist. Zu diesem Zweck sind in dieser Sprache viele verschiedene Datentypen vorgesehen. Wichtige Standarddatentypen sind beispielsweise:</p>



<p>&#8211; Integer für ganze Zahlen<br>&#8211; Numeric und Decimal für Festkommazahlen<br>&#8211; Float, Real und Double für Gleitkommazahlen<br>&#8211; Charakter und Text für Zeichenketten<br>&#8211; Date und Time für Datum- und Zeitangaben<br>&#8211; diverse Binärformate wie Blob<br>&#8211; und viele mehr</p>



<h3 class="wp-block-heading">Programmieren mit SQL?</h3>



<p>Bei dieser Datenbanksprache handelt es sich um keine vollwertige Programmiersprache. Mit den Befehlen selbst können daher keine vollständigen Programme erstellt werden. Allerdings lässt sich SQL sehr gut mit anderen Programmiersprachen kombinieren oder in Programme einbetten. Hierfür kommen verschiedene Techniken wie Embedded SQL, Programmierschnittstellen oder Frameworks zum Einsatz.</p>



<p>Bei den Befehlen kann zwischen dynamischem und statischem SQL unterschieden werden. Während statische Anweisungen beim Zeitpunkt der Übersetzung des Programms festgelegt sind, sind dynamische Anweisungen erst direkt zum Zeitpunkt der Programmausführung bekannt. Dadurch müssen die Anweisungen direkt zur Laufzeit der Programme durch das Datenbanksystem interpretiert werden.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/10/29/structured-query-language-sql/">SQL &#8211; Structured Query Language &#8211; Industriestandard-Sprache zur Verwaltung und Manipulation von relationalen Datenbanken</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">109</post-id>	</item>
	</channel>
</rss>
