如何获得更多的SQL Server和T-SQL经验?

时间:2021-06-18 21:10:54

I'm a developer with over 10 years experience in vb5/6, C#, VB.NET, 3 years of WCF too, design and architecture. I consider myself to be pretty good and can usually solve anything given time (like most good developers). I worked for a company for 8 years and during that time used a database called IBM UniVerse, it's an old Pick style database (multivalue), but it's ok. My trouble is, I've used a multivalue database for such a long time of my career I haven't got a lot of major advanced skills in SQL Server. I know enough about ANSI SQL to get by, but usually consult the net for syntax here and there, whilst in the 8 year job we automated SQL commands so I didn't even write SQL for at least a few years. Now I've left and I'm looking for another job and most of them say not only do you need to be an absolute expert at C#/VB.NET (which is fine) but you also need to be an expert at SQL Server and have the ability to write complex stored procs in T-SQL and performance tune. Now, I could probably get by just fine and learn as I go as I generally do anyway, but when it comes to write T-SQL on a stupid piece of paper in front of 4 people in an interview I don't do too well. I do like SQL Server as it has a management GUI unlike IBM UniVerse with it's DOS like command prompt! So using the management studio is fairly easy, setting indexes, creating tables, creating relationships etc.

我是一个开发人员,在vb5/6, c#, VB方面有超过10年的经验。NET, 3年的WCF,设计和架构。我认为自己非常优秀,并且通常能够在给定的时间内解决任何问题(就像大多数优秀的开发人员一样)。我在一家公司工作了8年,在此期间,我使用了一个名为IBM UniVerse的数据库,它是一个老的选择样式数据库(multivalue),但它是可以的。我的问题是,在我的职业生涯中,我使用了一个多值数据库,我在SQL Server中没有很多重要的高级技能。我对ANSI SQL有足够的了解,但通常在这里和那里查询语法,而在8年的工作中,我们自动化SQL命令,所以我甚至几年都没有编写SQL。现在我已经离开了,我正在寻找另一份工作,大多数人都说你不仅需要成为c# /VB的绝对专家。NET(这很好),但是您还需要是SQL Server的专家,并且能够使用T-SQL和性能调优编写复杂的存储过程。现在,我可能还过得去,像往常一样学习,但当我在面试中当着四个人的面写T-SQL的时候,我做得不是很好。我喜欢SQL Server,因为它有一个管理GUI,不像IBM UniVerse,它有DOS命令提示符!因此,使用management studio相当容易,可以设置索引、创建表、创建关系等等。

So my question is, how to I go about getting up to speed very quickly in all things SQL Server? Most jobs now seems to be "Software Developer / DBA". In my opinion they are separate jobs, but oh well, can't do anything about that.

我的问题是,如何在SQL Server中快速升级?现在,大多数工作似乎都是“软件开发人员/ DBA”。在我看来,它们是独立的工作,但哦,好吧,对此无能为力。

5 个解决方案

#1


2  

I'd strongly suggest you try http://sqlzoo.net/ , it's how I got started with SQL.

我强烈建议您试试http://sqlzoo.net/,我就是这样开始使用SQL的。

It allows you to write queries against their databases (CIA World Fact Book, Movie Database etc), to hone your skills. It returns result sets, and you can always look at the answers if you get stuck.

它允许你对他们的数据库(CIA World Fact Book, Movie Database等)编写查询,以磨练你的技能。它返回结果集,如果你被困住了,你可以随时查看答案。

Just make sure to change the syntax drop down to whatever platform you want to learn (sounds like MS SQL in this case).

只要确保将语法下拉到您想要学习的任何平台(在这里听起来像MS SQL)。

#2


1  

Buy a good book or two, and create a sample project to test your new skills.

买一两本好书,创建一个项目来测试你的新技能。

I'd strongly suggest, in order:

我强烈建议:

#3


1  

It will take time. The main thing is being willing to put in the effort to use it/play around in your own time - SQL Server Express is free so download and install it at home.

这需要时间。最重要的是,你可以在自己的时间里使用它/玩它——SQL Server Express是免费的,所以你可以在家里下载和安装它。

If you can come up with a real-world project for yourself, that'd be ideal - gives you a challenge to develop a working system backed by an SQL Server database that you need to design and develop yourself from scratch. This will help build up the core skills and allow you to make mistakes which are very valuable to learn from and then see/research a better approach.

如果您能够为自己设计一个真实的项目,那将是理想的——这将给您一个挑战,使您能够开发一个由SQL Server数据库支持的工作系统,您需要从头设计和开发自己。这将帮助你建立核心技能,并允许你犯非常有价值的错误,从中学习,然后发现/研究更好的方法。

In other words "doing" is very important, supported by reading books/blogs/following SO questions that are relevant. You'll naturally come across scenarios that are common within SQL Server development.

换句话说,“做”是非常重要的,通过阅读书籍/博客/跟随这些相关的问题来支持。您自然会遇到SQL Server开发中常见的场景。

#4


0  

SQL Server and T-SQL are not things you can learn quickly, they are large and complex subjects and you need to put the time in.

SQL Server和T-SQL不是可以快速学习的东西,它们是庞大而复杂的主题,您需要投入时间。

SQL Server books online is the best resource for SQL Server and T-SQL.

SQL Server books在线是SQL Server和T-SQL的最佳资源。

It includes examples and documentation and best of all, installs to your computer when you install SQL Server Management Studio.

它包含示例和文档,最好是在安装SQL Server Management Studio时安装到您的计算机上。

Get the installer here.

这里的安装程序。

#5


0  

I have a tip for you. I'm a student at college programming vb.NET, JAVA and c# in the 3 years i'm here, and have worked with ms access, mysql and sql server as database. We get the most different tasks here, where we need to set up databases and get fun programs to make. The advice i'm giving you is get in contact with students like myself, and make some sort of agreement: they provide u with their tasks, giving u something to work at and learn from and in return, u van provide that student with advice about how you would start with the task.

我有个小费要给你。我是vb的学生。NET、JAVA和c#在我工作的三年中,我使用ms access、mysql和sql server作为数据库。我们在这里得到了最不同的任务,在这里我们需要建立数据库并制作有趣的程序。我给你的建议是跟像我一样的学生取得了联系,并使某种协议:他们为你提供的任务,给你一些工作和学习,作为回报,你范为学生提供建议如何从任务开始。

I'm not saying you should do the work for the student, but those tasks don't require that high skill of programming so it's basically good to start with and learn along the way.

我并不是说你应该为学生做这些工作,但是这些任务不需要那么高的编程技能,所以从一开始学习是很好的。

Hope this helps

希望这有助于

#1


2  

I'd strongly suggest you try http://sqlzoo.net/ , it's how I got started with SQL.

我强烈建议您试试http://sqlzoo.net/,我就是这样开始使用SQL的。

It allows you to write queries against their databases (CIA World Fact Book, Movie Database etc), to hone your skills. It returns result sets, and you can always look at the answers if you get stuck.

它允许你对他们的数据库(CIA World Fact Book, Movie Database等)编写查询,以磨练你的技能。它返回结果集,如果你被困住了,你可以随时查看答案。

Just make sure to change the syntax drop down to whatever platform you want to learn (sounds like MS SQL in this case).

只要确保将语法下拉到您想要学习的任何平台(在这里听起来像MS SQL)。

#2


1  

Buy a good book or two, and create a sample project to test your new skills.

买一两本好书,创建一个项目来测试你的新技能。

I'd strongly suggest, in order:

我强烈建议:

#3


1  

It will take time. The main thing is being willing to put in the effort to use it/play around in your own time - SQL Server Express is free so download and install it at home.

这需要时间。最重要的是,你可以在自己的时间里使用它/玩它——SQL Server Express是免费的,所以你可以在家里下载和安装它。

If you can come up with a real-world project for yourself, that'd be ideal - gives you a challenge to develop a working system backed by an SQL Server database that you need to design and develop yourself from scratch. This will help build up the core skills and allow you to make mistakes which are very valuable to learn from and then see/research a better approach.

如果您能够为自己设计一个真实的项目,那将是理想的——这将给您一个挑战,使您能够开发一个由SQL Server数据库支持的工作系统,您需要从头设计和开发自己。这将帮助你建立核心技能,并允许你犯非常有价值的错误,从中学习,然后发现/研究更好的方法。

In other words "doing" is very important, supported by reading books/blogs/following SO questions that are relevant. You'll naturally come across scenarios that are common within SQL Server development.

换句话说,“做”是非常重要的,通过阅读书籍/博客/跟随这些相关的问题来支持。您自然会遇到SQL Server开发中常见的场景。

#4


0  

SQL Server and T-SQL are not things you can learn quickly, they are large and complex subjects and you need to put the time in.

SQL Server和T-SQL不是可以快速学习的东西,它们是庞大而复杂的主题,您需要投入时间。

SQL Server books online is the best resource for SQL Server and T-SQL.

SQL Server books在线是SQL Server和T-SQL的最佳资源。

It includes examples and documentation and best of all, installs to your computer when you install SQL Server Management Studio.

它包含示例和文档,最好是在安装SQL Server Management Studio时安装到您的计算机上。

Get the installer here.

这里的安装程序。

#5


0  

I have a tip for you. I'm a student at college programming vb.NET, JAVA and c# in the 3 years i'm here, and have worked with ms access, mysql and sql server as database. We get the most different tasks here, where we need to set up databases and get fun programs to make. The advice i'm giving you is get in contact with students like myself, and make some sort of agreement: they provide u with their tasks, giving u something to work at and learn from and in return, u van provide that student with advice about how you would start with the task.

我有个小费要给你。我是vb的学生。NET、JAVA和c#在我工作的三年中,我使用ms access、mysql和sql server作为数据库。我们在这里得到了最不同的任务,在这里我们需要建立数据库并制作有趣的程序。我给你的建议是跟像我一样的学生取得了联系,并使某种协议:他们为你提供的任务,给你一些工作和学习,作为回报,你范为学生提供建议如何从任务开始。

I'm not saying you should do the work for the student, but those tasks don't require that high skill of programming so it's basically good to start with and learn along the way.

我并不是说你应该为学生做这些工作,但是这些任务不需要那么高的编程技能,所以从一开始学习是很好的。

Hope this helps

希望这有助于