SQL vs MySQL vs. SMSS vs. RDBMS - mysql

I am starting into studying SQL and am having trouble understanding the relationships between the various components.
To my understanding, SQL is a langauge (akin to PHP, JS, etc.) which is used to interact with databases.
MySQL seems to be a specific software, a specific RDBMS, but how exactly does it relate with SQL and SSMS? Is it the thing that actually stores the data, or does it simply manage them by interpreting SQL commands? I'm mostly confused on what the SSMS does then.
Any help or tips on such subjects would be appreciated, though I understand if this topic is not specific enough and needs to be removed.

Related

Sample datasets for practice - Oracle pl/sql

I am a new user of SQL, I use Oracle pl/sql as a Programming software. I have done an introductory course to SQL that included some datasets. However I'd like to continue practicing, some real life problems that include requests of querying very simple statements to difficult ones that include indexes, etc.
Does anyone have any links/sites where I can further pursue SQL training for free? I've done a Stakexchange and Google search with not much luck.
As you probably know, Oracle ussually comes with some sample schemas like HR, SH... listed here
Also, you can install HammerOra benchmarking tool. It's commonly used to test TPC-C and TPC-H on different RDBMS. It will install some schemas on your DB with variable size.
You can also install some virtual appliances.
There are more there, but I think the coolest is StackOverflow DB, too bad is MSSQL.

mySQL tutorial for writing SQL statements and DB scripts

Thanks in advance.
Is there a tutorial (preferablly free) out there that'll walk me through how to write mySQL statements?
I'm not interested in learning about installing and configuring mySQL since this is something handled by experts and I wouldn't have permissions to do this anyway.
Specifically, what I'm looking for is a tutorial that utilizes a database (Sakila perhaps?) that actually teaches how to write mySQL commands, AND that has questions for me to answer (via written SQL statements) with the accompanying correct results so I can verify my work. I was hoping for at least a beginning and intermediate mySQL tutorial. But without the correct answers / results, I can't possibly know if the SQL statements I'm writing are correct results or not.
I haven't really seen many tutorials that focus strictly on learning SQL statements and writing scripts, and I've seen none that have a thorough Q&A (with results) section.
If I have to pay for a tutorial, that's fine. I just want to find one that focuses on learning to write SQL statements and scripts and that stays away from configuring and administering type learning.
Any help you can provide is greatly appreciated.
KJ
I started out with an oreilly online course.
I know its not a tutorial, but if you are prepared to pay, its the better choice
For what you get its not that expensive and you'll come out of it with a very strong base.
If you are looking for strictly database:
Database Administration Certificate
Or a mix with a programming language (gives better insight to usage)
PHP/SQL Programming Certificate
Also I found a really nice site with a lot of common and useful sql queries that you can use to learn some neat tricks
Common MySQL Queries
I hope this helps you and good luck

How do you test a SQL statements across multiple Database types?

Does anyone know of a quick and easy test to see if a query is properly formatted for both MySQL & MSSQL. Perhaps other database types as well, such as SQL Server? I only have access to MySQL at this time.
Info: I'm working on an Open Source project called JJWDesign Google Maps for SugarCRM. Some of the queries use the SugarCRM classes; others I have to write custom. For example, some are special distance calculations against the geocode information stored in the tables.
http://www.sugarforge.org/projects/jjwgooglemaps/
More importantly, while there is an accepted syntax, each flavour of database has it's own specific functions, features and things you can do.
The best you can do is to make do with the most basic of features. Oracle has different functions for datetime compared to mysql compared to db2. While I would love to assist in a 'free as in beer' project, you really will need to check each function to see if it is the same across all major vendors. General functions most often are, so abs() will be fairly consistent, but others simply won't.
You're talking about a SQL parser so by definition it either isn't going to be quick and easy or it will do only the simplest checking.
Each RDBMS has its own flavour of SQL too so you'd really be limited to testing whether it was ANSI SQL.

DBLinq for a production system?

We're working on an ASP.NET web application with C# code behind. The database is MySQL 5.1 using InnoDB. The data access layer uses ADO.NET to call stored procedures and then builds various data structures out of the result sets (no object mapping). This works fine, but it is a little verbose.
Not surprisingly, we made some mistakes when designing the first version of our data model, but the experience has made us smarter and we decided to refactor the data model. We don't have to change our data access layer, but we are considering our options for that as well.
It's been difficult for us to ignore the popularity of ORM tools these days; we feel like we are way behind or something for not being familiar with them. Not only that, but we have already designed an object model that nicely describes our data model. The main ORM tools we would consider are NHibernate, ADO.NET Entity Framework, and LINQ to SQL. We would prefer LINQ to SQL because we have read (on S.O.) that it is more light weight than full ORM tools.
We think one drawback to using an ORM tool is the learning curve, but we can already see how using LINQ could reduce the amount of code we will have to write, which could save us time in the long run. However, we are using MySQL, not SQL Server.
So my question is, would DBLinq work well enough for a production system? Or, is LINQ to SQL a compeling enough reason for us to make the move to SQL Server 2008? Incedentally, I'd prefer to use SQL Server over MySQL, but cost is the obvious drawback. After 3 years on BizSpark, we'd be on the hook for $6K. Or, should we consider other ORM tools instead? Or, should we just ignore the hype and not use an ORM tool, but maybe take advantage of LINQ to DataSet?
I searched S.O. for info on DBLinq, but only found 17 questions with the DBLinq tag, so it doesn't appear to be popular.
EDIT
Looks at though dotConnect for MySQL has support for LINQ, so that's another option.
Can anyone speak to how well that driver works for writing LINQ queries?
Check bl-toolkit. It's free, very fast and has great LINQ support. Newest addition are T4 templates for generating your data model from database.

Using LINQ with databases other than SQL Server Express 2005

I'm just starting to look into using LINQ for my database (and XML, and data object!) needs, but need to decide on which database to go with. I've been reading Pro LINQ, and it says that currently, LINQ in .NET 3.5 only supports SQL Server. I have done some googling, and have found references to using LINQ with MySQL and PostgreSQL (my other two DB options), but they are refer to DLinq, which I understand to be the predecessor of LINQ to DB.
I've read interesting and informative comparisons of the three databases here and here, but am still torn. I do not have any in-depth database experience, so it's important to be able to get the software installed and configured easily, or at least be easy to figure out how to compile a list of steps to configure it. I definitely want to have transactional support as well. But most importantly -- I want to use LINQ.
I'd like to hear what everyone here is using, whether it's SQL Server because LINQ supports it natively, or the other two with some additional component for LINQ support that I haven't yet found.
We use devart's dotConnect provider for Linq-to-Oracle and have been very pleased. They try and make the functionality match Linq-to-SQL as close as possible, which seems to be what you're looking for.
They have providers for:
Oracle
MySQL
PostgreSQL
SQLite
SQL Server
From a cost perspective, it's an excellent deal I'd say, just pay for developer seats, no server licensing.