As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am enthusiastic to enter the world of Databases through SQL, but I don't know if there's prerequisites of any significance and I only know C# and Java.
Besides these, what tools do I need? I have Visual Studio 2008 and SQL Server Management Studio. What else do I need? Is it necessary to download a server OS?
Definitely install one of the free databases (Oracle Express, SQL Server Express). I have used both of those. You might also want to check out this free tutorial. It will help you learn SQL syntax.
I recommend you to try SQL Server Express, it is the easiest server to work with if you are developing with C#. If you would like to learn SQL using Java almost any data base would be good.
A data base server it's a software like any other, you will have to communicate with it through your own program, making a connection, throwing SQL commands and interpreting its results. If you only wanted to learn SQL you also could install a client for the chosen data base server and learn through it, after that you could try to connect your program to this data base. In this case SQLite would work pretty good for you.
Visual Studio 2008 and SQL Server Express are sufficient to learn the basics of a Relational Database Management System (RDBMS.) You can learn T-SQL (SQL Server's ANSI-SQL dialect,) schema design, Object-Relational Mapping, and more. SQL Express runs on Windows XP, Vista and Windows 7.
Oracle also provides an Express version, and there are other free options such as MySQL and SQLite.
You don't need a special server OS. SQL Server will run just fine on your development machine if you are just using it to learn. You'll want to make sure that SQL Server is installed in addition to Management Studio.
You might also want to try either MySQL and PostgreSQL. They're both free, much easier to install than SQL Server, and run on more platforms.
To start, I would look at the W3 tutorial here: http://www.w3schools.com/sql/default.asp .
I used MySQL , also get the Workbench and WAMP(or LAMP). Then start building! It's good to do something you would use.
SQL Server will run on your development system, and SQL Server Management Studio 2008 is a good tool to work with in SQL 2008.
If you want to connect through your network though, you'll need to configure the Network Area Surface to accept TCP Clients connections.
Related
I just started an internship position this week and I have to learn SQL to do my project. Problem is, the only server they have access to is not something I can really play around with and learn.
I asked if there was any way to make a database locally and they just told me I can add tables on to the already set up databases. I am not allowed to do anything else on it other than queries and the lesson I'm working with uses other functionalities. I can't get my program to work correctly and I'm sure the limited functionality I have has to do with it.
I would like to learn as much as possible before they are ready for me to start the actual project.
You can download SQL Server Express Edition here: https://www.microsoft.com/en-us/sql-server/sql-server-editions-express. Why not install it on your PC at home? You can then login as sa and do whatever you want. I have it installed on my PC at home. It is free.
It is worth noting that SQL Server Express does not have all the features of SQL Server Standard/Enterprise. If you require the full set of features then you can buy SQL Server Developer Edition: https://www.microsoft.com/en-us/sql-server/application-development. The Developer Edition is like the Enterprise edition, but for developers. I believe you can get it for less than £50.
I've personally not played around with these, but I keep hearing good things about them: Microsoft Virtual Labs: https://technet.microsoft.com/en-us/virtuallabs/
From what I understand, whilst designed for specific purpose, they might be flexible enough to try other concepts on as well.
Worth a short, perhaps?
Firstly, apologies if this question is in the wrong place.
I'm a student who has literally just started learning SQL yesterday, using the SQL*Plus command-line interface. This is fine so far - I've created and populated tables, run simple queries and can spool to files etc. But I'd like a more 'visual' approach to help with my understanding (i.e. I'd like to be able to see the 'objects' as I work on them (much like BlueJ for when I started learning Java). Is this possible with any free software?
I have Microsoft Visual Studio Professional 2012 (which I'm new to) - is it possible in this? I can create a new SQL file but without a 'real world database' can I actually run commands in a similar way to the command-line SQL that I've been doing?
Any help at all would be absolutely amazing. Apologies if I'm misunderstanding anything or being simple - I've literally been using SQL*Plus etc for a few hours.
Visual Studio does support designing SQL databases. However, I think the best option for managing a database is SQL Server Management Studio.
SSMS comes with most installations of SQL Server, but if it's not installed, you will have to re-run the installer to install it.
SSMS supports running arbitrary SQL queries, as you may be used to. It also supports a powerful GUI interface (based on the VS interface) for working with all kinds of database objects. You can completely design and populate a database without manually writing any SQL. If you want, you can even make a change, and view the SQL generated to change the database.
Give it a try, and good luck learning SQL.
I was just in your boat a few months ago. I had to teach myself the .NET side of SQL with SQL Server, LINQ, and C# and wanted to share my experience with you.
The fact of the matter is, SQL Server Management Studio (SSMS) is built on top of Visual Studio. I have both SQL Server 2012, and Visual Studio 2010/2012 installed on my computer, and in my experience. Look for an extension called "SQL Connect" in Visual Studio. It supports GUI building of tables.
As far as free software, if you are a student like me, you should be eligible for the Dreamspark program. Microsoft graciously allows academic licenses for virtually all their development software (including some freebies like free copies of Windows 7 Professional, OneNote, and Lync).
Also a book I highly, highly recommend to supplement your learning is "SQL Visual Quickstart Guide (3rd Edition)" It's only ~15 dollars for the eBook. Also, the Pluralsight videos on SQL Server help a lot, which you will get a three free month trial through Dreamspark. There is also a wealth of examples on the MSDN website that teach you with the Adventureworks database, which should be on Microsoft CodePlex.
Happy learning!
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I brought 31 queries down to 3 for a certain page in my application by using a single join (provided by Django's ORM). Up until that very moment I thought of SQL optimization as something I didn't need to worry about. I instantly realized that there are probably so many areas that run slow which could use some SQL tomFOOlery (SQL FOO is for professionals).
Now I'm looking for a piece of open source software that will allow me to quickly create databases, and tables with a GUI, so I can quickly add data and experiment with queries. Is Access good for this (aside from not being free or open source)? Or, does Access use it's own SQL syntax?
Oracle XE is free.
MySQL is free. For MySQL i use MySQL Workbench which is pretty nice.
If you want to practise SQL, I guess any database/tool would do. But learning how to optimize for one database doesn't translate into knowing how to optimize for another. I'd say go with the database you are currently working with.
There is a Firefox add-on for SQLite Database. This is a very small add-on and once done, it allows you to create database, the tables and the data visually. Pretty simple one at that.
SQL Server is an obvious choice for Windows. You can download Express Edition for free but if you want a development tool then the Developer Edition is much better value. Developer Edition typically costs around $50 - much cheaper than Access.
SQuirreL SQL is a nice and free software that supports many databases.
I'm not sure if you can create tables visually, but from my experience, it's faster to just write the DDL and then execute it since it's a one time job.
As for data generation, I've found http://www.generatedata.com/ to be a nice online site where you can generate dummy data.
No one mentioned SQLExpress. You can use SQL management studio, and it's free. Good enough for practicing. You can create databases visually and write stored procedures etc. It also integrates with Visual Studio express.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
At work we recently upgraded from Microsoft SQL Server 7 to SQL 2005. The database engine is a lot more advanced, but the management studio is pretty awful in a number of ways. Most of our developers decided they preferred to stick with the old Query Analyzer tool, even though it had a lot of limitations.
In my spare time, I decided to write a replacement for Query Analyzer / Management Studio that did the things our developers most needed to do. I finally got permission to release it for free: Versabanq Squel (versabanq.com/squel).
Like I said, it's free, so this isn't a sales pitch. But it got me thinking. What I'm wondering is: are most of you satisfied with SQL Studio the way it is? Do people just use it because it's what Microsoft pushes on them? Are there many people out there looking for something better? Maybe I can get some support for long-term development of this, if it looks like there might be some wider interest.
By the way, check out SQL Server Management Studio Alternatives, someone else's earlier question on this topic. What I see there is that there are surprisingly few options. Why do you think that is?
Ha, I came from exactly the same standpoint, so I made a tool, code completion and all, plus there's a free edition available. It's at http://www.atlantis-interactive.co.uk - it's basically for people who miss QA. Your tool looks nice, good job.
While I would love something better, it would have to be significantly better and free. SMS is definetly a hog but I've gotten used to it. What I miss the most is Query Analyzer. I don't mind using SSMS to manage the server but having a fast lightweight, editor for SQL queries would be awsome...
Did I mention free? Not something I'm willing to pay for right now.
EDIT
FYI I downloaded your tool looks neat but you need to add support for Windows Authentications unless I am just missing how its done.
I think Management Studio is far superior to the old SQL 2000 tools. Enterprise Manager was a shocker of a tool, forever hanging and crashing. Query Analyzer is still ok if ALL you ever do is create and run SQL queries, but to be honest once I started using Management Studio I never went back to EM/QA.
I've used Apex SQL Edit before and preferred it over Management Studio. It provided intellisense well before SQL Server 2008's Management Studio.
http://www.apexsql.com/sql_tools_edit.asp
I just moved to developing on linux with mysql and boy do I miss MS SQL Management Studio. It is a fantastic tool. I agree it takes a bit getting used to after using query analyzer, but the query tool in management studio is actually better. I really do not think there is a better alternative. I tried the Apex SQL Edit also but found MS to be superior.
I also suggest using SQL Prompt from Red-Gate to get intellisense (autocomplete). Their other tools are also excellent.
If you are currently developing (or will start developing) using the .NET 3.5 Framework, then I suggest you give your developers this little handy application: LINQPad
This will help your developers learn LINQ (an Integrated O/R Mapper that makes .net developers' lives much easier) syntax, and at the same time use a more-light weight SQL management application
This advice is only valid if you're developers are using Microsoft's .net 3.5 Framework
I was quite happy with the Enterprise Manager of 7.0 and 2000. I kind of liked the ideas of MMC snapins. As long as you remembered to hit refresh, it wasn't that bad.
The new 2005 Management Studio is ok too. I see no point in choosing anything else. I fail to see the grand improvement that could justify a move for me. Everybody seems to use the stuff that comes with SQL Server, and compared to the stuff that comes with Oracle, it is pretty good. Oracle developers have more choice, and it is no mystery!
Books Online is great, and has been since 7.0.
My favourite part about Query Analyzer is and has always been the execution plan view. It's such a Good Thing!
Every new version of SQL Server has a lot of new stuff, but sadly some stuff gets dropped too. I think it's sad that English Query is gone. I never found a project for it, pushing it in Norway was part of the problem, but I thought it was brilliant.
I have tried a handful of them including TOAD, ApexSqlEdit and a couple of others. The problem with all of them is that while they include great features Management Studio is missing they also lack critical features Management Studio already has, I always found myself with two windows open, my third party editor and Management Studio. This is one area where I think Red-Gate has really nailed it, they don't try to replace management studio, just make up for it's deficiencies by extending it, adding intellisense, light refactoring, and code formatting. So far my favorite solution by quite a margin is Management Studio with RedGate SqlPrompt Pro added in for the intellisense and formatting which boost my productivity quite a bit.
SQL Server Management Studio 2008, when used against a SQL Server 2008 database, supports Intellisense for SQL Queries. Nuff said!
edit: sorry, didn't realize you said SQL 2005. Eh, I like SSMS 2005 as well.
I, for one, would definitely like something other than Management Studio. Is it just me, or do other people feel that it is wayyyyy slower than SQL Server 2000's Enterprise Manager? More features or not, I need something that can get the job done quickly.
I was having issues determining how to set up user permissions on SSMS. Eventually I accidentally ran into the correct way to do it and it works nicely now. I never used any tools previously for SQL Server so I can't compare but I think this does everything I need it to at the moment.
Anything is better than the tripe called SQL Server Management Studio. Sorry, but it's plain awful for us non-DBA guys. Maybe you DBA and programmer types like it, but it's a major PITA for those of us who are just the Server guys who schedule backups and such. It's slow. SLOW. And the Maintenance Plan interface is a living nightmare of bugs and gotcha's. Enterprise Manager wasn't perfect, but it was far, far easier to use than SSMS.
It really reminds me of Visual Basic 4 compared to VB3 - MS was trying to go in the right direction, they just did a really poor job. Of course, we eventually got VB6, so maybe in MSSQL Server 2011 we'll have something decent again. But for now, I just wish I could run Enterprise Manager against my SQL2005 servers, as SMSS makes me batty.
However, I haven't yet had any problems running the Query Manager from 2000 against my 2005 servers, at least not for the simple queries I do. At least that still works.
Management Studio is imperfect, and has a few bugs but I find it FAR and away better than the old 2000 tools. No contest. I use SSMS 2008 to manage all my servers including the SQL Server 2000 (ack!) instances.
Even with its warts, I have yet to see someone create a tool that is better for what it does - nobody probably has time to (re)build out every feature.
My 2 cents.
Yes, but they have almost always had their own problems.
Out of all of them, I used Toad for quite a bit, but found it to be a bit less responsive compared to Management studio. Maybe it was the building of intellisense (which was also very picky - it always required me to put in the Database.owner. prefix and had trouble with aliases), but it just didn't feel as comfy.
Back to SQLMS...
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We are using PowerDesigner at work for database modelling. But there is a hell of a price tag on that piece of software. And frankly, all I use is physical diagrams for MS SQL, which is about 1% of what PD knows.
Are there any good alternatives? I know about Visio and MS SQL Diagrams, but looking for other options.
Power*Architect is the way to go. It's free, open source, and does a really great job helping you build your ERDs. Plus, it works on Windows, Linux, and OSX.
Open System Architect: www.codebydesign.com - it does job for me perfect
Check out Sparx Enterprise Architect also.
I just use SQL Server using the diagrams folder. The designer is pretty simple to use, and can be used to generate tables fairly quickly. Considering it's free with the software, I don't see the issue.
SourceForge.net Druid project
Has a templating engine to produce DDL or what ever you like.
Has the ability to have multiple diagrams in one model.
Only does physical data model.
It is free and has source available.
It is a java based tool so it will run on Unix or Windows.
How about MagicDraw? It is a very powerfull tool, but I think it as expensive as PowerDesigner, not sure.
You might want to look at https://www.xcase.com/demo.php. It's not free, but it's quite a bit cheaper than PowerDesigner, as far as I can tell. I've used earlier versions, but lately I've had easy access to Visio, so have continued with that instead of investing in xCase.
The version of Visio that comes with VS Enterprise Architect has a forward-engineer feature that will generate SQL. There is also a type library for the modelling engine, but (on older versions at least) it won't extract certain items such as comments. However, the generated SQL has the comments in a fairly simple structure that does facilitate parsing the generated SQL.
You can get older versions of VS enterprise architect on E-bay for not very much money (I think mine cost about £250).
One caveat for reverse-engineers is that all pre-VS2005 visio DB modelling engines will not play nicely with the SQL Server 2005 native client. You need to either script out the database and re-load it on a SQL2000 server (dealing with SQL2005 specific features such as schemas is left as an exercise for the reader) or get a more recent version.
Well there's another alternative. Use it for more than just making tables! Exploit it, get your money's worth. You've already paid for it, you could drop the maintenance and just use it as-is. Anyways, something to ponder.