Dimyan
Гость
|
|
« : 17-03-2004 06:49 » |
|
Я тут узнал, что у нас в одном из солидных институтов Новосибирска на специальности программист (не знаю как полностью) при изучении SQL учат MySQL, а не MS SQL Server. А вчем между ними разница (хоть в краце)? Просто я под чутким руководством Alfa учу ADO.Net и сделал выводы, что без изучения SQL не обойтись, учить надо но что учить? как учить?
|
|
|
Записан
|
|
|
|
Dusk
Команда клуба
Offline
Пол:
Редкий, но веселый вид
|
|
« Ответ #1 : 17-03-2004 08:12 » |
|
Dimyan, MS SQL Server - это хранилище баз данных от Microsoft, использует язык Transact SQL (SQL адаптированный под MS SQL), а MySQL - это язык, подробнее о котором напишут другие (я с ним не работал, а только знаю что он используется для баз в инете)...
|
|
|
Записан
|
Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших Опыт - это то, что появляется сразу после того, как он был так необходим... Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
|
|
|
Mouse
Молодой специалист
Offline
|
|
« Ответ #2 : 17-03-2004 08:14 » |
|
MySQL - это уменьшенный вариант SQL Server, очень удобный для малого и среднего бизнеса. Разработчик другой, не MS. Систаксис такой же, как и в T-SQL, так что в плане обучения MySQL и SQL Server ИМХО равноценны. Плюс еще MySQL очень хорошо взаимодействует c Perl, он, кажется, даже встроен туда (в смысле поддержка Perl встроена в MySQL), так что он очень хорошо подходит для инетовских БД.
|
|
|
Записан
|
|
|
|
Alf
Гость
|
|
« Ответ #3 : 17-03-2004 08:32 » |
|
Dimyan, поскольку сам с MySQL не работаю (по причине замкнутого круга: не работаю потому что не знаю,а не знаю потому. что не работаю 8) ), то спросил у коллег, использующих MySQL в работе. Вот что они мне поведали. Плюсы: во-первых, он официально бесплатный (хотя в нашей стране платный софт - это скорее шутка такая, все, чот помещается на компакт, стоит 50-70 рублей). Во-вторых, Open Source, т.е. страдающие паранойей могут лично убедиться в отсутствии "закладок" и других сюрпризов (если, конечно, продерутся через дебри кода, но это уже их проблемы, теоретически возможность есть). В-третьих, он мал по объему, неприхотлив к железу и довольно быстр. Из минусов назвали некоторые проблемы с безопасностью на уровне доступа к отдельным полям и с поддержанием целостности, а именно триггерами, хранимыми процедурами и т.п. Кое-что из этого еще не реализовано, постоянно откладывается то релиза к релизу. Кое-что реализовано, но не очень. Рекомендовали MySQL для использования в не слишком сложных приложениях, с несложными структурами данных и без особых заморочек по поддержанию целостности. Идеальное применение, по их мнению, - в качестве хранилища контента веб-сайтов (сами именно для этого и используют). Для домашних экспериментов ставить себе его я бы не посоветовал, поскольку многие тонкие вещи, связанные с триггерами и хранимыми процедурами, на нем изучить не получится. а все остальное и в Access найдешь. По поводу того, что учить... Разбирайся с "чистым" SQL, тогда легко адаптируешься к любой конкретной СУБД. Не зацикливайся на особенностях реализации без особой надобности.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #4 : 17-03-2004 08:35 » |
|
API для MySQL существуют для многих языков, не только для perl.
Т.к. SQL - это язык, то можно говорить о диалектах этого языка. Есть стандарты SQL, а есть различные диалекты, которые берут начало от стандарта, но по различным причинам не полностью на него похожи и дополнены своими расширениями. Кроме того, различные диалекты имеют сильное различие в ф-иях. В MySQL язык весьма упрощен, но в дальнейвем они обещают многое реализовать в 5-ой версии (альфа уже есть). Лучше пользоваться версией 4 - в предидущей, 3.23, нет да же вложенных запросов (это может усложнить создание совместимых запросов).
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Dimyan
Гость
|
|
« Ответ #5 : 17-03-2004 13:54 » |
|
По поводу того, что учить... Разбирайся с "чистым" SQL, тогда легко адаптируешься к любой конкретной СУБД. Не зацикливайся на особенностях реализации без особой надобности. а я уже знаю команду Select Ну а есле серьезно то чтоб учить надо какую то среду в чем писать, какую мне выбрать для обучения?
|
|
|
Записан
|
|
|
|
Alf
Гость
|
|
« Ответ #6 : 17-03-2004 14:31 » |
|
Dimyan, если у тебя Visual Studio .NET Enterprise Architect Edition, то в его составе должен идти Microsoft SQL Server 2000 Desktop Edition. Это полностью функциональный вариант MS SQL Server, но специальная версия для разработчиков, на 2 соединения. Для экспериментов и отладки тебе должно вполне его хватить - одно соединение потребуется для управления сервером, а другое - для твоей программы. Я сам несколько лет работаю в подобной конфигурации (раньше использовал MS SQL Server 7.0 совместно с Visual Studio 6), и всегда этого хватало. Установи себе этот сервер - Desktop Edition в отличие от стандартной редакции не требует непременно серверную платформу, а ставится практически на все подряд, кажется, даже под Win98 может работать. Думаю, его тебе хватит для любых задач. Тем более что искать ничего не надо - все уже под рукой, в одном флаконе.
|
|
|
Записан
|
|
|
|
Dimyan
Гость
|
|
« Ответ #7 : 17-03-2004 15:10 » |
|
Alf, спасибо, у меня вроде именно такая VS, дома посмотрю. И тогда уж (чтоб добить тему до конца) последний вопрос: Иточник знаний? т.е. книги, ресурсы и т.д. что посоветуете? идеальный вариант чтоб это перекликалось с ADO.Net если такой источник знаний есть.
|
|
|
Записан
|
|
|
|
Alf
Гость
|
|
« Ответ #8 : 17-03-2004 15:49 » |
|
Dimyan, такие книги, тем более перекликающиеся с ADO.NET, ты вряд ли найдешь. Типичные книги, описывающие SQL-сервер, содержат следующую информацию: требования к технике для установки сервера, инсталляция, администрирование, резервное копирование и восстановление, диалект SQL для данного сервера. Пожалуй, все. Написание приложений с использованием SQL - это другая тема, и пишут про нее в других книгах. А совмещать это дело уже в собственной голове придется. И, естественно, как следует налегай на английский. Помимо MSDN, Microsoft издавал и издает несколько интереснейших ежемесячных журналов: MIND, MSJ и другие. Незнание английского отрезает тебя от этих источников, а информация в них содержится ценнейшая. Иной раз такое интересное попадается, что с удовольствием сам бы взялся переводить, да в одиночку всего не вытянешь, а помогать особо никто не рвется.
|
|
|
Записан
|
|
|
|
Dimyan
Гость
|
|
« Ответ #9 : 19-03-2004 05:52 » |
|
Alf, я потихоньку английский учу, правда не зная более продуктивных методов пошел путем простого перевода, у меня довольно много книг на английском по программированию, я их распечатываю и перевожу. Очень медленно получается , ноя стараюсь. Правда ИХ это громко сказанно, я ADO.Net шаг за шагом переводил, но раз ты сказал что всеравно ты многое оттуда берешь да еще и дополняешь, мне твои статьи понятны и интересны, поэтому я бросил и занялся переводом "C#.Net Web Developer's Guide" там и про ADO.Net есть не мало. Не знаю почему именно ее выбрал, просто интуитивно, но очень туго переводы идут . Пользуюсь я только огромным словарем (бумажным ) и Lingvo 8.0. Может кстатии ктонибудь подскажет какие-нибуть (осуществимые в домашних условиях) приемчики или методы убыстрения изучения английского, а то очень трудно весь день работать, учить программирование (в смысле читать книги по теме), пытатся чтото написать, учить английский и при этом чтоб супруга не обижалась что я на нее внимания не обращаю.
|
|
|
Записан
|
|
|
|
Alf
Гость
|
|
« Ответ #10 : 19-03-2004 08:09 » |
|
Dimyan, у меня у самого до недавнего времени была подобная проблема. В школе и университете учил французский, и хотя и знал его отлично (сдал квалификационные экзамены на переводчика), в англоязычной литературе был совершенно беспомощен. Попытки выучить язык самостоятельно были довольно вялыми и малорезультативными: английский - язык весьма идиоматичный, и простой перевод каждого слова предложения (при этом зачастую каждое слово еще и имеет десяток значений) может просто завести в тупик, т.к. любой малозаметный предлог может вывернуть смысл фразы наизнанку. Выкрутился из ситуации таким образом: нашел старушку-пенсионерку, которая преподавала в педагогическом институте и готовила учителей английского, и стал заниматься с ней частным образом. Через некоторое время она из ламера сделала подобие человека: художественную литературу стал читать, не так уж часто ныряя в словарь, про техническую и говорить не приходится - там язык совсем уж примитивный. Рекомендую и тебе попробовать такой же способ. Лично я занимался 1 час в неделю, думаю, и ты сумеешь выкроить без большого ущерба. По финансам тоже не особо обременительно, пенсионеры нынче не особо избалованы, цена божеская. Думаю, найти подобный вариант тебе труда не составит. Все-таки Новосибирск - город академический, учебных заведений должно быть много, а значит - и толковых учителей.
|
|
|
Записан
|
|
|
|
Ilia
|
|
« Ответ #11 : 19-03-2004 11:02 » |
|
Есть такой метод обучения английскому - глубокое погружение. Т.е. неделю каждый день ходишь на курсы по 3 часа в течение месяца - это малобюджетный вариант или погружение в среду англичан (американцев) - отнюдь не дешевый вариант. Вот может кто поделиться своими соображениями - эффективны ли такие методы.
Alf, хотел спросить в двух словах по MSSQL 2000 - есть varchar и nvarchar, text и ntext, char и nchar - в чем отличие приставки n я не нашел в книжках про это, то, что у меня есть в основном только про администрирование сервера, а как создавать таблицу нет ничего. Не знаю какой вариант выбрать для храннения блоб полей (text или ntext). Буду признателен помощи.
|
|
|
Записан
|
Кто выпил весь кофе!
|
|
|
Alf
Гость
|
|
« Ответ #12 : 19-03-2004 11:49 » |
|
...или погружение в среду англичан (американцев) - отнюдь не дешевый вариант... У нас в Ростове есть вообще бесплатные курсы английского, их проводят американцы-добровольцы из церкви Христа. Причем я несколько раз ходил из интереса, там даже не охмуряют на религиозные темы, т.е. все действительно безвозмездно. Многие знакомые ходят туда на предмет подшлифовать разговорные навыки. Думаю, в других городах тоже подобные миссии должны быть, имеет смысл поискать. Alf, хотел спросить в двух словах по MSSQL 2000 - есть varchar и nvarchar, text и ntext, char и nchar - в чем отличие приставки n я не нашел в книжках про это... Приставка n означает, что храниться текст будет в кодировке Unicode, т.е. каждый символ будет занимать не 1 байт, а 2. Не знаю какой вариант выбрать для храннения блоб полей (text или ntext). Ни тот и ни другой - для данной цели есть специальный тип image, способный хранить до 2Gb. Хранить двоичные данные в виде текста лучше не пытаться, т.к. можно нарваться на неявную перекодировку кодовой страницы, да и неизвестно, как сервер отнесется к разным служебным символам. А поле image гарантированно никак не вмешивается в свое содержимое.
|
|
|
Записан
|
|
|
|
Dimyan
Гость
|
|
« Ответ #13 : 19-03-2004 14:17 » |
|
попробую поискать частного учителя конечно, но это действительно какую-нибудь пенсионерку надо, а так частных предложений много, но это восновном от проффесоров, уж очень много они просят, хотя конечно как говорят учат они изумительно по методикам всяким
|
|
|
Записан
|
|
|
|
Ilia
|
|
« Ответ #14 : 22-03-2004 04:23 » |
|
Alf, спасибо .
|
|
|
Записан
|
Кто выпил весь кофе!
|
|
|
Sashok
Молодой специалист
Offline
Пол:
|
|
« Ответ #15 : 28-03-2004 00:57 » |
|
По поводу изучения SQL - полностью согласен с RXL: надо знать стандартный SQL, а уж конкретный диалект с его специфическим набором функций изучать потом по мере надобности. Могу сказать по своему опыту, что, если не спициализироваться именно на базах данных, а использовать их только в качестве инструмента, со знанием стандартного SQL можно начинать работать на совершенно незнакомой БД практически немедленно.
По поводу английского - есть такой способ: Шаг 1. Читаешь (а лучше - переводишь) техническую литературу. Шаг 2. Через какое-то время начинаешь читать художественную литературу. Лучше - что-то простое по языку и занимательное по сюжету. При этом в словарь не смотришь, а о значении слов пытаешься догадываться по смыслу. В крайнем случае, устанавливаешь себе предел - скажем, не более 3 слов из словаря на страницу. Очень способствует усвоению языка, как это ни парадоксально.
|
|
|
Записан
|
Если бы окружающие нас объекты содержали столько же ошибок, сколько программы, цивилизация обрушилась бы от первого порыва ветра...
|
|
|
Dimyan
Гость
|
|
« Ответ #16 : 29-03-2004 06:34 » |
|
Sashok, Спасибо за еще один метод изучения. Я собираю все методы в единный и таким образом у меня уже кое что получается, правда времени очень мало
|
|
|
Записан
|
|
|
|
Алёна
Молодой специалист
Offline
Блондинка...
|
|
« Ответ #17 : 29-03-2004 13:34 » |
|
У меня уровень англиского намного хуже, но я честно пытаюсь его учить... Но похоже к языкам у меня нет предрасположенности, в том числе и к русскому, хотя он мой родной.
В школе у меня был немецкий, поэтому на английский я и не смотрела. В колледже у меня был английский, алфавит и грамматику прошли за два урока. Так что толку от этого не было.
Потом я занималась с репетитором, силы воли хватило на три(или четыре) недели. Потом мне стало некогда и я забросила.
Теперь занимаюсь на курсах английского, не знаю насколько хватит силы воли.
А дома я пользуюсь переводчиком Magic Gooddy, он переводит плохо, но общий смысл понятен.
А SQL рассматривай тот, который у тебя встроен в программу, которую ты изучаешь.
Мне начальный SQL понравился в FoxPro, там визуально прорисоваваещь свази, что, куда, откуда, а потом рассматриваешь программный код. В институте мы рассматривали SQL встроенный в FoxPro, там как бы даются основы баз данных и основы SQL.
|
|
|
Записан
|
Стену можно пробить только головой. Все остальное орудия.
|
|
|
????
Гость
|
|
« Ответ #18 : 29-03-2004 21:12 » |
|
На счет МуСКУЛА'а: изучение SQL на его примере - УЖАС!!! Т.к. он не являтся реляционным, точнее часть реляционных основ в мускул заложены, но многое отсутствует Да ещё на личном опыте убедился, что появляется очень много проблем с использованием мускула в проекте где больше 100 полей (не в одной таблице, а в нескольких но со связями - около 20) или больше 100 000 записей (хотя это спорно, т.к. может сильно зависеть от аппаратуры). В мускуле нет Хранимых процедур, а следовательно всех прелестей для организации доступа средствами самой СУРБД... Так что... Тем более я видел около 100 различных баз реализованных средствами мускула - так там не разу не встретил любой из Нормальных Форм, а жаль... Вот выйдет окончательный PHP 5, может и мускул доработают
|
|
|
Записан
|
|
|
|
Смоляное Чучелко
Гость
|
|
« Ответ #19 : 30-03-2004 02:25 » |
|
API для MySQL существуют для многих языков, не только для perl.
Речь, имхо, шла не об API -- имея API на Цэ, построить оный же на любом языке не есть проблем. Имелось в виду встроенные языки для написания процедур, расширения сервера функами и т.п. В версии 3.22 не помню я никакой в этом смысле интеграции с Перлом, может, в новых версиях чего появилось, но в старых -- только Цэ. С уважением -- Смоляное Чучелко
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #20 : 30-03-2004 09:57 » |
|
Смоляное Чучелко, 3.22 - это давно устарело. Видимо, ты давно не пользовался MySQL-ем... В модуле MySQL для Perl-а стоит копирайт 1997 (автор) и 1994 (заимствованный код). Сейчас актуальна ветка 4.0 и в разработке находится 5.0. Рекомендую почитать список фич и изменений - добавлено много чего.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
il2
Гость
|
|
« Ответ #21 : 10-04-2004 18:12 » |
|
MySql использует атомарные блокировки таблиц, что очень удобно для Ineta , отсутсвие транзакций делает хранимые процедуры не нужными, тормазят работу даже в Oracle. Изучение Iso Sql на нём - гемор. Програмирование для Inet - класс!!!
|
|
|
Записан
|
|
|
|
|