best database book for developers [closed] - database

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 want to download a good database book for developers, can you guide me and send me good links to find a good one. I am working with SQL Server 2008.

This has been asked here many times before:
A beginner's guide to SQL database design
Can anyone recommend a book for building enterprise database applications in .Net?
My personal favorite resource is Books Online - this is the documentation that comes with SQL server.

For database concepts Fundamentals of Database Systems
Good Books for SQL Looking for a good book to learn SQL
For SQl Server How to Learn MS SQL Server 2005?
Beginning SQL Server 2005 Administration
FOr MySql What are the best books for MySQL?
Book recommendation for advanced SQL design, scripting and optimiziation.
What are some resources I can use to learn profiling/optimizing?

Funny that no one seems to mention Date's "SQL and relational theory : How to write accurate SQL code".

Head First SQL (O'Reilly) is excellent, whole series is great.
They start of with the basics (as do most books), covering syntax, database design and advanced querying.
Excrept:
2008 Jolt Productivity Award Winner!
Is your data dragging you down? Are your tables all tangled up? Well
we've got the tools to teach you just how to wrangle your databases
into submission. Using the latest research in neurobiology, cognitive
science, and learning theory to craft a multi-sensory SQL learning
experience, Head First SQL has a visually rich format designed for the
way your brain works, not a text-heavy approach that puts you to
sleep.
Maybe you've written some simple SQL queries to interact with
databases. But now you want more, you want to really dig into those
databases and work with your data. Head First SQL will show you the
fundamentals of SQL and how to really take advantage of it. We'll take
you on a journey through the language, from basic INSERT statements
and SELECT queries to hardcore database manipulation with indices,
joins, and transactions. We all know "Data is Power"—but we'll show
you how to have "Power over your Data". Expect to have fun, expect to
learn, and expect to be querying, normalizing, and joining your data
like a pro by the time you're finished reading!

See Kalen Delaney's recommended reading list. There's some great books listed there, as well as other resources.

May I recommend
Microsoft SQL Server 2008 R2 Unleashed

Related

Which database system should I use? [closed]

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 9 years ago.
I have been doing quite a bit of research trying to figure out which database system would best suite my needs, but I need a little guidance. I am writing a VB.Net program that keeps track of inventory, to be used by small businesses. I will be using a client server type model, with 1 computer on the network acting as a server, the rest clients. The avg number of client computers will probably be 2-5 or so. The most would be 10-15. Right now I am using an Access DB stored on a network Hard drive, but that way is slower and not very stable. Access was the first DB for me to learn how to program with so that is why I am using it now, but I know I need to change that going forward.
Requirements:
I want the installation process to be easy and simple because these businesses will have no IT Dept. Database server needs to be installed along with program installation.
Items and customers will be continuously added, so database size limits concerns me a little bit, as I don't want to have problems later on when the database size gets maxed out.
Here is what I have gathered about the following DB types:
Access: What I use now. file based db. not intended for multiple users using 1 DB.
MySQL: Open source but seems distributing with program requires licensing, so this is out. I wish this was an option, but I need free.
SQL Server EXPRESS 2005/2008: No licensing, also 2008 R2 has a 10gb limit. I am leaning towards this for now. Seems to be easiest integration with VB.Net & Visual Studio. Prerequisites are available in Visual Studio (for SQL Server 2005) so SQL server will get installed during program installation.
SQL Server CE: file based db. maybe not the best choice for client/server setup? Might not be any better than how I use Access now. Correct me if I'm wrong.
Firebird: I see other programs are using it in a client/server type setup, but it looks like a file based db? Also looks like support for vb.net + firebird is scarce, which scares me. No limits though, which would be awesome.
I've done tons of research, but I still don't know which is best for my situation.
I think the approach you are taking is incorrect. You're asking your customers to install a RDBMS system and software when they don't have an IT department. Who is going to maintain this?
If this were me, I'd propose a hosted model web app perhaps using Windows Azure where you have a single centralized database for all your clients (create a multi-tenant database) and Microsoft handles all the infrastructure hassles. Or go with some third-part hosting solution that supports SQL Server 2012 (why consider 2005 or 2008?). Either would be better, IMO, than what you're proposing. And I believe it would be considerably easier to maintain and serve all your clients in this type of set up.

Should I learn SQL Server 2008 or Oracle 11g [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I have been using MySQL for my school projects, personal web site for years.
My company is using MySQL in all web projects as well.
Now I am thinking to pay for some classes to learn another new Database system, but
I have no idea whether I shall choose MS SQL Server 2008 or Oracle 11g.
I hope to find a better job with high paid salary.
I need some advice and suggestions.
Unless Oracle is giving away downloads of 11G for you to learn on, I'd say that Oracle will be a pricey path to take. They don't list prices that I can see on the web site. (Maybe I didn't look hard enough.) Oracle DBA certification is another expensive proposition. I think it's rigorous, so it might be worth having, but it'll cost you in courses and test fees.
SQL Server won't cost as much. You can download Express for free. I'm sure it won't help you with all the enterprise features that will be missing.
if you are a java developer i think Oracle 11g is better,
or if you are a .net developer ms sql would be a better choice.
Both MS SQL and Oracle has "express editions" which are somewhat restricted, but free versions that you can try at home. Pick the one you like the most.
The salary will depend more on how good you are than the system you pick (why not both?).
You certainly should not pay in order to learn a new database system. You can get a free version of MS SQL Server Express together with Management Studio on the web. There are loads and loads of materials and tutorials on the web on MS SQL Server. I bet the same can be said about Oracle. In general, go out there and explore the web, it's a much better way to learn than paying for some courses, which might not give you what you need.
It can also depend on your area and what you are trying to get into. It seems like certain segments of the business world use MSSQL or Oracle exclusively. I would say that MSSQL is easier to get into but that's just opinion. Overall it seems like there's more MSSQL jobs but the oracle jobs pay a little better...but again that's a very person experience. I don't think you'd go wrong with either direction. I would agree with the others though that you should just download the free versions and play around a little and see which ones catches your attention more and go from there.
Let's revert roles. I ask the question and you answer.
My question to you is "Should I learn to drive a Ford or should I learn to drive a chevy".
The answer is the same because the question is the same, the tiny and irrelevant difference of problem domain notwithstanding.
You should learn oracle as oracle is bitter complex to learn where as SQL Servers is easy becoz of GUI..once you hands on with oracle,,it is easier to learn SQL Server.As a DBA you should have the knowledge of both the DBses...expertise in oracle and minor knowledge of sql server...
Check this out guys .It is very useful .Share with your friends.
http://www.blogger.com/blogger.g?blogID=199110802022460749#editor/target=post;postID=7162651198801267960

database design tool question [closed]

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.
is there a good database design tool can generate sql script to create database (tables) in major database (Oracle, MySQL, SQL server, Sybase) without any changes?
Which design tool are you think is good.
I prefer Power Architect, for the same reasons I listed in this question:
Accesses source databases via JDBC
Connects to multiple source databases concurrently
Compares data models & database structures and identifies discrepancies
Drag-and-drop source tables & columns into the playpen
Remembers the origin of each column
Generates source-to-target visual Mapping Reports
Forward/reverse engineers PostgreSQL, Oracle, MS SQL Server & more
Saves source data structure snapshots in the project, so you can work remotely
All project data is stored in an easy-to-parse XML format
OLAP schema modeling: Cubes, Measures, Dimensions, Hierarchies & Levels
GPL (version 3) licensed
...and a couple reasons of my own:
runs on basically any platform
has fairly nice keyboard support for fast model development
relatively useful diagram auto-layout
I've used Datanamic's DeZign for Databases with success. It's a graphical interface that can generate the scripts for almost every major database.
I am using Enterprise Architect. I use it for all of my design UML based use cases, Architectural views, class/collaboration diagrams and database schema. Its great. One can generate script very easilly.
Maybe you could consider using the UML2DB SQL generation service:
http://modeling-languages.com/content/uml2db-full-code-generation-sql-scripts-databases
Choose your UML tool (e.g. ArgoUML), draw a class diagram, (optional) configure some code-generation options in the web interface and it's done. Forget about using stereotypes or profiles. Let the service use common-sense to do the generation for you. All major database vendors supported.

SQL Server Management Studio alternatives to browse/edit tables and run queries [closed]

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 was wondering if there are any alternatives to Microsoft's SQL Server Management Studio?
Not there's anything wrong with SSMS, but sometimes it just seem too big an application where all I want todo is browse/edit tables and run queries.
I've started using LinqPad. In addition to being more lightweight than SSMS, you can also practice writing LINQ queries- way more fun than boring old TSQL!
TOAD for MS SQL looks pretty good. I've never used it personally but I have used Quest's other products and they're solid.
Seems that no one mentioned Query Express (http://www.albahari.com/queryexpress.aspx) and a fork Query ExPlus (also link at the bottom of http://www.albahari.com/queryexpress.aspx)
BTW. First URL is the home page of Joseph Albahari who is the author of LINQPad (check out this killer tool)
Database .NET
I have been using Atlantis SQL Enywhere, a free software, for almost 6 months and has been working really well. Works with SQL 2005 and SQL 2008 versions. I am really impressed with its features and keyboard shortcuts are similar to VS, so makes the transition really smooth to a new editor.
Some of the features that are worth mentioning:
Intellisense that actually works when using multiple tables and joins with aliases
Suggestion of joins when using multiple tables (reduces time on typing, really neat)
Rich formatting of sql code, AutoIndent using Ctrl K, Ctrl D.
Better representation of SQL plans
Highlights variables declarations while they are used.
Table definition on mouse hover.
All these features have saved me lot of time.
powershell + sqlcmd :)
If you are already spending time in Visual Studio, then you can always use the Server Explorer to connect to any .Net compliant database server.
Provided you're using Professional or greater, you can create and edit tables and databases, run queries, etc.
There is an express version on SSMS that has considerably fewer features but still has the basics.
vim + dbext :)
Oracle has a free program called SQL Developer which will work with Microsoft SQL Server as well as Oracle & MySQL. When accessing SQL Server, however, Oracle SQL Developer is only intended to enable an easy migration to Oracle, so your SQL Server database is essentially read-only.
You can still install and use Query Analyzer from previous SQL Server versions.
How about Embarcadero Rapid SQL Really good but kind of expensive.

Is there an open source SQL Server DB compare tool? [closed]

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'm working on an open source project that uses SQL Server 2005 as the data store. We need a DB compare tool to generate diff scripts to be able to upgrade a DB from one version to another.
Is there an open source or free SQL Server DB diff tool out there that generates a convert script?
I think that Open DBiff does a good job.
It's simple and I works with SQL Server 2005/2008.
But only generate the change script. Nothing more and nothing less.
On CodePlex I noticed yesterday DbDiff (http://www.codeplex.com/OpenDBiff) that you could try. Supports Sql2005 and 2008, I did not try it.
I'd recommend spending some cash and getting Red Gate's SQL Compare tool which does an excellent job, and can even compare databases to Visual Studio database projects to generate upgrade scripts. It's fast and easy to use, and works well. The upgrade scripts are also of decent quality.
It's not that expensive. Probably less expensive than your time. Just think about how much your hourly rate is, and how many hours it might take to investigate an open-source tool and get it working (and how many you have already spent), then multiply them together. That's how much a 'free' tool is really costing you, which is often significantly more than a commercial tool.
It's not open source, but is free (as in beer): Sql Effects Accord (aka Clarity) Community Edition
AdeptSQL Diff and DataDiff are wonderful products, much cheaper than RedGate's and a much more simplified UI, and I have yet to run into a scenario it cannot handle.
Aloha
You might want to try SqlDbDiff. It can generate change scripts. The free edition does a good enough job.
Anyone try xSQL Bundle (xSQL Data Compare and xSQL Object Compare)? Our place only uses for DB diffs, no syncs, so can't say for syncing but the diff and reports are not bad.
Also, OpenDBDiff has a spin off, not sure which is better - http://code.google.com/p/sql-dbdiff/
Anyone know if any of the free/open source DB diff tools mentioned here offer scriptable / command line interface to automate the diffs and synching?
I looked into xSQL tools, they offer command line access but unfortunately, no scriptable command to export diff results to (report) file.
While it's not exactly what you want, I found this for postgres:
http://mbk.projects.postgresql.org/
It doesn't generate a diff to apply, but rather allows you to merge a full dump of the new version of the table with the previous version.
Hmm, none that I know of. You can always retrieve the definitions as SQL and then run a diff tool on them, but it's a bit of a pain in the rear.
Probably the best solution for this is using some kind of "Migrations" tool, so you can keep your database definitions together with your code, and version them, etc.
Update
On Sourceforge I found Whiz SQL Structure Compare with this description: Whiz is a database diff utility which will be useful to find difference between two MS-SQL Server databases. It also able to generate SQL script to update the changes from one database to another database.
However, I've been unsuccessful in getting it to work so far...
We have both SQL Delta and SQL Compare. Each has strengths, but each also have weaknesses that make them quite a pain.
SQL Delta will miss some triggers in its comparison, and it will take actions not found in the action list, and it will sometimes take actions you did not want it to take. That was discovered at quite a cost in time.
SQL Compare will catch the triggers, but they are embedded within the table listings. On a large database, that means going through each table and sifting them out. Something the tool should have isolated for us. Again, quite a cost in time.
Its is a little late, but I just relased a real simple project on code plex:
http://dbcompare.codeplex.com
Enter (or build) two connection strings and it will compare all Tables, Views and Stored Procedures.

Resources