|
|
Hiroki
Paranoid (IV) Inmate
From: NZ Insane since: Dec 2002
|
posted 06-26-2003 04:47
Hi, guys. How are you today?
I have been trying to understand the difference between MySQL and MS SQL Server.
I knew nothing about them one week ago. Now I am reserching a lot so that information confuses me very much at the moment.
Would you please give me your thoughts and opinions please.
My biggest question is:
What is the point to use MS SQL Server????
MySQL seems to be the best to me. Coz it is absolutely free to use. And it seems to me as good as others such as MS SQL Server, Oracle, or whatever. Why do people use MS SQL Server??? I don't see the point.
And word server makes me very confused. Server sounds to me that it is something not on the client side, right? I guess MySQL, MS SQL Server and Oracle can be used as database software for client side as well as database server for server side.
Is that right???
And last question is:
Did you donwload MySQL from the Internet? Otherwise how did you get it from??
All right. If I am talking something wrong, forgive me.
I will really appreciate if you would give me your thouhgts.
Many thanks.
Cya.
Hiroki Kozai
|
Dracusis
Maniac (V) Inmate
From: Brisbane, Australia Insane since: Apr 2001
|
posted 06-26-2003 06:04
I don't know much about MS SQL because MySQL always seemed like the logical choice although I'd suspect that the MS SQL server works better with MS technologies like ASP and .NET compared to MySQL. Furthermore, MySQL probably isn't as stable or as fast on NT servers as MS SQL, but I could be wrong.
As for the client side / server side thing, well, I think you're confusing those terms.
"Client Side" is the term used to describe data that the client sees. This means HTML, JavaScript, Flash and whatever other plug-ins the client browser has.
"Server Side" is anything that happens on the web server. Now, whilst you store HTML, JavaScript etc on the server, their still considered client side as the code is never run by the web server, it's simply sent to a client (web browser) and the client then runs that code. Server side code is run by the server then sent to the client. PHP is server side code, and it is run by the server and sent to the client as HTML because clients (web browsers) don't understand PHP/ASP/.NET etc.... Furthermore, clients have rather restricted access to data on web servers whilst Server Side languages that have been built to run on x kind of web server has fewer restrictions (you can code PHP to read and write files on the server ect...)
Database software like MySQL and MS SQL is also server side. You make calls to that database using a server side language like PHP or APS and the database send the results back to PHP/ASP then you format those results into HTML and send that to the client.
Does that make sense? Client Side is only anything a web browser can understand, server side code is run on the server and sent to the client in a form the client can understand, which is usually HTML.
To answer your other question, you can download MySQL here: http://www.mysql.com/
Although, I prefer to use a pre-configured set of web server software that includes MySQL, PHP, Apache and a whole bunch more in a single installer. It's really handy for offline developing and testing. There are heaps of these around but I use phpDev, which you can get form here: http://www.firepages.com.au
|
bitdamaged
Maniac (V) Mad Scientist
From: 100101010011 <-- right about here Insane since: Mar 2000
|
posted 06-26-2003 06:22
Actually it's not so much a server-side client-side deal.
Database's are generally servers, in the same way that Apache is a web server. They store and serve the requested information. Clients are the tools that you use to access the data on a server.
At their core Oracle, MSSQL and MySQL are all servers. You can access those servers from a number of different clients. Be it a GUI or a web page interface.
MSSQL and Oracle both offer many optimization and scaling capabilites that MySQL doesn't most of which you won't need to worry about for a while yet.
Finally MySQL is a good solution for a small to medium size open source DB there are actually many others that will be better for some solutions such as PostgreSQL and Firebird.
Oh and I download MySQL
.:[ Never resist a perfect moment ]:.
[This message has been edited by bitdamaged (edited 06-26-2003).]
|
Hiroki
Paranoid (IV) Inmate
From: NZ Insane since: Dec 2002
|
posted 06-26-2003 07:34
Hi, guys.
Many many thank you for your replies.
It is huge help!
It is the end of the term tomorrow.
I will have wee break.
And on Saturday I gonna watch rugby at pub,
All blacks vs France.
It will be good.
Again, Many thank you.
Have a good night. Now it is 5:35pm.
Cya.
Hiroki Kozai
|
DmS
Paranoid (IV) Inmate
From: Sthlm, Sweden Insane since: Oct 2000
|
posted 06-26-2003 09:45
There are differences between MySQL and MS SQL (Oracle and many more as well), big differences...
At least at the point where the standard MySQL version is these things are missing.
1. Transaction support (without innodb)
2. Support for foreign keys (without innodb)
3. Nested select statements
4. Cascade deletes (without innodb)
5. Stored procedures
6. Views
Why is this important?
In a small scale web-setup you will do fine without it.
In a situation with lot's of dependencies between tables and high traffic you need to handle transactions. That is to make sure one series of SQL commands was executed as intended before starting up a new series of commands.
Let's take this example.
The site requires customers to register information in the system, each registration affects 8 tables, if two customers registers at the same time you run the risk of having the simultaneous registrations mix up the values and breaking the database.
If you have transaction support built in you can do the query, the db will check for dependancies between the tables, if an error happens it will back out and undo the things already done.
Without transaction support you need to do all that in your code.
One example is from what we are building right now, we have about 8 rows of code that does the actual registration, then we need appr 80 more lines of code to do the checking and possible rollback if anything went wrong. And that's only for one insert that affects many tables, then we have the updates that need the same thing...
Stored procedures will reduce your code even more, this is where you code in lot's of sql in a "function" in the database instead of in your code, this lets you call that function instead of writing the SQL all the times you need to do the same thing.
Views is a way to create predefined selections of data from the database that you can call on and ask a query on that instead of on the whole database.
So yes, there are important differences between MySQL and bigger commercial databases.
However, in the right situation, MySQL is an exellent choice and I really like it.
/Dan
{cell 260}
-{ a vibration is a movement that doesn't know which way to go }-
|
Tyberius Prime
Paranoid (IV) Mad Scientist with Finglongers
From: Germany Insane since: Sep 2001
|
posted 06-26-2003 21:24
yes, mysql is free, but yes, it also's lacking many many relation-database features, that the 'bigish iron' ones like mssql, oracle and so on have.
(postgres has most of them too, and it's free).
Anyhow,
if one of you ever comes into the strange situation of having to use mssql and php, beware of a freakish bug involving the header() function,
especially using location: $newurl.
basically, it will crash your script pretty much 'randomly'. there're server remedies that will help reduce the frequency the problem, but none of them make it go away.
(I had to, and I stopped using header() in that project all together. I was able to replace it with outputbuffering for what I was doing,)
Reason for Mssql in that case was: that's what the client used.
You could use mysql as 'client based database server'.
It would still be a server (provinding a service for other applications). It doesn't really have to be remote to be a server.
Then, on the other hand 'MSSQL Server' is just it's name. And some Visual Studios include a small MSSQL Server for developing purposes, which is installed on the developers machine.
|
Hiroki
Paranoid (IV) Inmate
From: NZ Insane since: Dec 2002
|
posted 06-27-2003 00:28
Hi, guys. Many thank you for your replies.
It is really wonderful feeling to see that I got replies from you in the morning.
How are you today???
Well, could I ask you something.
I understand that MS SQL server and Oracle are much more powerful than MySQL. MySQL does excellent job for small up to medium size of business database management, right? And it is anyway free. Good isn't it?
My question is:
Do you think that MS SQL or Oracle is used to make a huge database like Amazon.com?
And if so, PHP doesn't run on MS SQL Server coz it is micorsoft server, right??? Is PHP still good tool as huge database based Ecommerse???
Again, Great appreciation for you, guys.
Have a good day. Now it is half past 10 in the morning.
Cya.
Hiroki Kozai
|
DmS
Paranoid (IV) Inmate
From: Sthlm, Sweden Insane since: Oct 2000
|
posted 06-27-2003 09:28
1. Is PHP good for large commerce sites?
Yes, if you can plan the system design and code well enough.
And you can use it together with LOTS of databses, including MS SQL, Oracle and the other big ones.
Usually on large commerce sites you divide the tasks the code has to perform into layers, usually Presentation, businesslogic and database-layer.
The presetation layer creates the presentation (HTML), the businesslogic does the logical things, takes the info from the presentation-layer or the database-layer, processes if and sends it to the database- or presentation-layer.
The database layer then handles all the querys to the database.
The presentation-layer is usually PHP/ASP/JSP, the businesslogic and database-layer can be the same, but in large scale systems it's usually .dll's for microsoft or Java classes that handles these parts.
quote: PHP doesn't run on MS SQL Server coz it is micorsoft server, right???
Well yes, and no...
PHP doesn't run on MS SQL Server = true because MS SQL Server is a datbase server, not a webserver.
PHP runs on a webserver and comes for many platforms. You can run PHP on MS IIS (Microsofts webserver on a microsoft machine), you can run PHP with Apache on Microsoft or Linux/Unix and much more combinations.
So: MS SQL Server (the database) has to run on a Microsoft machine, then you can use PHP with either Apache or IIS on the same Microsoft machine and use MS SQL Server together with PHP.
Or, you can run Apache/PHP on a Linux machine and use it with MS SQL Server on a physically different Microsoft machine (More work but it can be done).
In conclusion, PHP/ASP/JSP/Perl (Server Side Scripting languages) runs on the webserver of your choice, the database runs on the databse-server. Both of these can reside on the same machine or on different machines.
You can find more on this here: http://www.gurusnetwork.com/tutorials/misc/wbtgd/design_7.html this page has a link that explains a lot of these things.
Dan
{cell 260}
-{ a vibration is a movement that doesn't know which way to go }-
[This message has been edited by DmS (edited 06-27-2003).]
|
Tyberius Prime
Paranoid (IV) Mad Scientist with Finglongers
From: Germany Insane since: Sep 2001
|
posted 06-27-2003 11:51
a) I believe Amazon actually uses oracle as their backend.
b) While you could use php for a huge ecomerce site, like amazon, I wouldn't. I'd go for an enviroment a lot more modular than php is (with more than two scopes, for a start).
|
Hiroki
Paranoid (IV) Inmate
From: NZ Insane since: Dec 2002
|
posted 06-30-2003 00:22
Hi, guys.
Many many thanks for your replies and telling me great details.
Honestly I understood some of points you told me.
Keep studying and searching to brush up my knowledge.
It is really exciting stuff to learn.
Many thanks.
cya.
Hiroki Kozai
|