Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Разные SQL  (Прочитано 18156 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dimyan
Гость
« : 17-03-2004 06:49 » 

Я тут узнал, что у нас в одном из солидных институтов Новосибирска на специальности программист (не знаю как полностью) при изучении SQL учат MySQL, а не MS SQL Server.
А вчем между ними разница (хоть в краце)?
Просто я под чутким руководством Alfa учу ADO.Net и сделал выводы, что без изучения SQL не обойтись, учить надо но что учить? как учить?
Записан
Dusk
Команда клуба

ru
Offline Offline
Пол: Мужской
Редкий, но веселый вид


« Ответ #1 : 17-03-2004 08:12 » 

Dimyan, MS SQL Server - это хранилище баз данных от Microsoft, использует язык Transact SQL (SQL адаптированный под MS SQL), а MySQL - это язык, подробнее о котором напишут другие (я с ним не работал, а только знаю что он используется для баз в инете)...
Записан

Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших
Опыт - это то, что появляется сразу после того, как он был так необходим...
Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
Mouse
Молодой специалист

ru
Offline 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
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #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
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #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 » 

Цитата: Ilia
...или погружение в среду англичан (американцев) - отнюдь не дешевый вариант...
У нас в Ростове есть вообще бесплатные курсы английского, их проводят американцы-добровольцы из церкви Христа. Причем я несколько раз ходил из интереса, там даже не охмуряют на религиозные темы, т.е. все действительно безвозмездно. Многие знакомые ходят туда на предмет подшлифовать разговорные навыки.
Думаю, в других городах тоже подобные миссии должны быть, имеет смысл поискать.
Цитата: Ilia
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
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 22-03-2004 04:23 » 

Alf, спасибо  Улыбаюсь .
Записан

Кто выпил весь кофе!
Sashok
Молодой специалист

us
Offline Offline
Пол: Мужской

« Ответ #15 : 28-03-2004 00:57 » 

По поводу изучения SQL - полностью согласен с RXL: надо знать стандартный SQL, а уж конкретный диалект с его специфическим набором функций изучать потом по мере надобности. Могу сказать по своему опыту, что, если не спициализироваться именно на базах данных, а использовать их только в качестве инструмента, со знанием стандартного SQL можно начинать работать на совершенно незнакомой БД практически немедленно.

По поводу английского - есть такой способ:
Шаг 1. Читаешь (а лучше - переводишь) техническую литературу.
Шаг 2. Через какое-то время начинаешь читать художественную литературу. Лучше - что-то простое по языку и занимательное по сюжету. При этом в словарь не смотришь, а о значении слов пытаешься догадываться по смыслу. В крайнем случае, устанавливаешь себе предел - скажем, не более 3 слов из словаря на страницу. Очень способствует усвоению языка, как это ни парадоксально.
Записан

Если бы окружающие нас объекты содержали столько же ошибок, сколько программы, цивилизация обрушилась бы от первого порыва ветра...
Dimyan
Гость
« Ответ #16 : 29-03-2004 06:34 » 

Sashok, Спасибо за еще один метод изучения. Я собираю все методы в единный и таким образом у меня уже кое что получается, правда времени очень мало Жаль
Записан
Алёна
Молодой специалист

ru
Offline Offline
Блондинка...


WWW
« Ответ #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 » 

Цитата: RXL
API для MySQL существуют для многих языков, не только для perl.


Речь, имхо, шла не об API -- имея API на  Цэ, построить оный же на любом языке не есть проблем. Имелось в виду встроенные языки для написания процедур, расширения сервера функами и т.п. В версии 3.22 не помню я никакой в этом смысле интеграции с Перлом, может, в новых версиях чего появилось, но в старых -- только Цэ.

С уважением -- Смоляное Чучелко
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #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 - класс!!!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines