# Unterschied zwischen MS-SQL Server und mysql-server



## Kai-Behncke (23. Mai 2005)

Hallo allerseits,
will mich gerade näher mit Datenbanken beschäftigen und habe eine Frage.
Ich habe mir mysql 4.1.11 runtergeladen und installiert. Der Server wird astreinerkannt und Datenverarbeitung hat dort bislang immer sehr gut funktioniert.

1. Nun arbeite ich ab und an mit MS Access. Gibt es dort eine Möglichkeit, eine direkte Verbindung zu einem mysql-Server herzustellen? Wenn ja, wie?

2. Ich habe einige Lernunterlagen von der Uni. Dort wird immer davon geredet, dass man sich auch den MS SQL-Server installieren kann. Was ist denn das? Gibts da einen Unterschied zum mysql-Server, welchen ich bereits habe?
Ist es richtig, dass man Tabellen für Access mittels des MS-SQL-Server kreieren kann (so z.B. "Create Table Personal (Personalnummer Int, etc. etc.)"? Geht das nicht auch mit meinem mysql-Server 4.1.11?
Blicke da irgendwie nicht durch? Weiß jemand Rat?


----------



## motb (23. Mai 2005)

Hi!

ad 1)
Ja, du kannst MS-Access mit MySQL "verbinden".
Installiere dir dazu am besten "ODBC-Treiber für Mysql" - gibts auf der Mysqlhomepage.

ad 2)
Das sind zwei ganz unterschiedliche Produkte.
MS-SQL ist von Microsoft und ist etwas besser (vorsichtig gesagt, Meinungen spalten sich hier oft).
Vor allem unterstützt MS-SQL Server doch einige Standards welche Mysql noch nicht hat (bzw. erst  jetzt in Version 5 einbindet) zb: Views, Triggers, Stored Procedures,...

Schneller ist Mysql (da aber auch weniger funktionalität).
Gerade im WWW ist mysql sehr verbreitet, da es auch fast von jedem Webprovider als DB angeboten wird.

Wie man Tabellen für Access mittels MS-SQL erzeugt weiss ich nicht. Geht aber sicher besser als mit dem mysql, da Access ja auch von MS kommt.

lg,
D


----------



## MCIglo (23. Mai 2005)

MS-SQL ist nicht gerade für Webanwendungen gedacht und ist IMO ein völlig überflüssiges Produkt.
Für kleine Anwendungen reicht eine MySQL-DB völlig aus. Und für große Unternehmen/Anwendungen gibt es nichts besseres als Oracle!

Bei deinem MySQL-Server musst du aber aufpassen, er kennt keine Unterabfragen:

```
SELECT * 
FROM tbl1 
WHERE feld1 = 
  (SELECT MAX(ID)
   FROM tbl2);
```

Musst du alles über Joins regeln, oder eine neuere Version nehmen.


----------



## hpvw (23. Mai 2005)

MCIglo hat gesagt.:
			
		

> Bei deinem MySQL-Server musst du aber aufpassen, er kennt keine Unterabfragen:
> 
> ```
> SELECT *
> ...


Das ist falsch. Seit Version 4.1 kennt MySQL Subqueries. Also wird es auch mit Version 4.1.11 gehen.

Gruß hpvw


----------



## MCIglo (23. Mai 2005)

Oh sorry, dann habe ich 4.0 und 4.1 verwechselt


----------



## Kai-Behncke (23. Mai 2005)

Dankeschön, das hilft mir erstmal weiter...


----------

