Көбірек

SQL сұрауын масштабтау деңгейіне байланысты өзгертуге бола ма?

SQL сұрауын масштабтау деңгейіне байланысты өзгертуге бола ма?


Мен жер атаулары бар қабат қосқан картаны жасауға тырысамын. Деректер қорында мыңдаған адам бар, мен олардың масштабының төменгі деңгейлерінде тек маңыздыларын ғана көрсететін әдіс іздеймін.

CartoDB кіріспесінде менің картамдағы проблеманың жақсы мысалы бар (назар аударыңыз, соншалықты көп нүкте бар, сондықтан картаны ешнәрсе үшін қолдануға болмайды, тек адамдар географиялық объектілерге ат қойған жерлерін немесе олар тұратын жерлерді көреді) http: // docs.cartodb.com/tutorials/create_map_cartodbjs.html

Менің деректер қорымда орын түрлеріне арналған баған бар, мен min_zoom және max_zoom бағанын қосып, оларды сүзгіге қолданғым келеді. Үлкейтілген сайын, жер атаулары көбірек көрсетіледі - мәліметтер базасында анықталған кішірейту және минимум деңгейлеріне негізделген.

Ең дұрысы, мен мәліметтер базасына сұраныс жіберу үшін масштабтауды айнымалы ретінде ала аламын.


Бұған CartoCSS ұлғайту селекторының көмегімен жетуге болады деп ойлаймын. Мұнда сізде мысал бар


Мысал ретінде мен табиғи жердің мәдени деректер жиынтығындағы қоныстанған жерлер туралы мәліметтерді қолдандым, мен оны CartoDB жалпы мәліметтер бөлімінен импорттадым. Деректер жиынтығының сізге ұқсас бағанасы бар, бірақ бұл жағдайда ол аталадыдәреже_максМен сол бағанды ​​бірге қолдандымұлғайтужәне келесі CartoCSS көмегімен кейбір сүзгілерді қолданды:

/ * Бұл барлық маркерлерге қатысты болады * / # ne_10m_populated_places_simple_4 {marker-fill-opacity: 1; маркердің ені: 0; сызық-ені: 0; толтырғыш: # 000000; қабаттасу: шындық; } # ne_10m_populated_places_simple_4 :: labels {text-name: «»; text-face-name: «DejaVu Sans Book»; мәтін өлшемі: 10; мәтін-затбелгі-позицияға төзімділік: 0; мәтінді толтыру: # 000; мәтіндік гало-толтыру: #FFF; мәтін-гало-радиусы: 1; мәтіндік мәтін: -4; қабаттасуға мүмкіндік беретін мәтін: шын; мәтінді орналастыру: нүкте; мәтінді орналастыру түрі: муляж; } / * Бұл РАҒАТ_МАКС> 12 шарты шын болған жағдайда ғана қолданылады * / [rank_max> 12] {# ne_10m_populated_places_simple_4 {marker-width: 10; толтырғыш: # FF6600; } # ne_10m_populated_places_simple_4 :: labels {text-name: [name]; мәтін өлшемі: 14; мәтіндік мәтін: -8; }} / * Бұл масштабты жоғарылату немесе 4-ке теңестіру үшін қолданылады, бірақ тек Rank_max 11 немесе 12 болғанда * * [[zoom> = 4] [rank_max> 10] [rank_max <= 12] {# ne_10m_populated_places_simple_4 {marker-width: 6 ; толтырғыш: # FFA300; } # ne_10m_populated_places_simple_4 :: labels {text-name: [name]; мәтін өлшемі: 12; мәтіндік мәтін: -6; }} / * Бұл масштабты жоғарылату немесе 8-ге теңестіру үшін қолданылады, бірақ 11-ден кейінгі дәреже үшін * * [[масштабтау> = 8] [rank_max> 4] [rank_max <= 10] {# ne_10m_populated_places_simple_4 {marker-width: 4; толтырғыш: # 229A00; } # ne_10m_populated_places_simple_4 :: labels {text-name: [name]; мәтін өлшемі: 10; мәтіндік мәтін: -4; }}

Демонстрацияны келесі bl.ock.org сайтынан көруге болады: http://bl.ocks.org/rochoa/779532bf9e5360645332 (бастапқы код)

Дәл сізге қажет нәрсе болмаса да, бұл сіздің деректеріңізбен ойнауды бастауға көмектеседі деп ойлаймын.


Схеманың қалай өзгергенін анықтайсыз ба?

Біраз бұрын жасалған көріністі ақырында есептерді бұзған біреу өзгертті. Өкінішке орай. біреу (біле тұра немесе білмей) бұл модификацияны ӨНДІРУ дерекқорында жасады.

Менің сұрағым: осы модификацияны кім (қолданушы аты) жасағанын білуге ​​болатын әдіс (сценарий / бағдарламалық жасақтама / ақысыз бағдарламалық қамтамасыз ету және т.б.) бар ма, сол себепті мен сол пайдаланушының өндірістік мәліметтер базасына кіруді тоқтатамын.

Егер менің сұрағым түсініксіз болса, түсініктеме беріңіз.


4 жауап

Менде сіз сияқты проблема болды, Нобоби мені түсінеді, бірақ мен оны осылай шештім.

басқа параққа параметр енгізу керек, SQL бұл ақпаратты мәліметтер базасы ретінде қарастырады, содан кейін сіз ақпаратты таңдап, оларды өзіңізге ұнайтын параметрмен салыстыра аласыз.

Егер сіз microsoft сұрауын қолдансаңыз, «?» Қосуға болады Сіздің сұрағыңызға.

Excel-ге оралғанда ұяшық / деректер / т.б сұрайтын шағын терезе пайда болады.

Қалқымалы терезеде сіз осы ұяшықты деректерді жаңартқан сайын анықтау қажеттілігін жоққа шығаратын «әрқашан осы ұяшықты параметр ретінде қолдануды» таңдай аласыз. Бұл ең қарапайым нұсқа.

SQL біршама MS SQL синтаксисіне ұқсайды.

Кестенің атауы $ белгісімен аяқталып, бәрі жақшаға алынғаны маңызды. Шарттар бойынша сіз кез-келген мәнді қолдана аласыз, бірақ Excel бағдарламасы маған «SQL Apostrophes» (´) деп атайтын нәрсені пайдалануға рұқсат бермеді, сондықтан бағанның бір сөзбен жазылуы ұсынылады.

Егер сізде «Users» деп аталатын кестеде пайдаланушылар болса, идентификатор «id» бағанында және «Name» бағанындағы атау болса, сіздің сұрауыңыз келесідей болады:


Қызмет менеджері OLAP текшелері

Келесі суретте SQL Server Business Intelligence Development Studio (BIDS) кескіні көрсетілген, ол онлайн-аналитикалық өңдеу (OLAP) текшелері үшін қажетті негізгі бөліктерді бейнелейді. Бұл бөліктер деректер көзі, деректер көзінің көрінісі, текшелер және өлшемдер. Келесі бөлімдерде OLAP текше бөліктері және оларды қолданушылар жасай алатын әрекеттер сипатталады.

Деректер көзі

Деректер көзі OLAP текшесінде қамтылған барлық деректердің бастауы болып табылады. OLAP текшесі біріктірілген есептеулерді орындау үшін бастапқы деректерді оқу және өңдеу үшін деректер көзіне қосылады. Барлық Service Manager OLAP текшелері үшін деректер көзі - бұл операциялық менеджерге де, конфигурация менеджеріне де арналған мәліметтер мартын қамтитын деректер марты. Деректер көзі туралы аутентификация туралы ақпарат SQL Server Analysis Services (SSAS) жүйесінде дұрыс рұқсаттар деңгейін орнату үшін сақталуы керек.

Деректер көзінің көрінісі

Деректер көзінің көрінісі (DSV) - бұл деректер көзінен алынған өлшемдер, фактілер және асып түсетін кестелерді көрсететін көріністер жиынтығы, мысалы, Service Manager деректер марты. DSV негізгі және шетелдік кілттер сияқты кестелер арасындағы барлық қатынастарды қамтиды. Басқаша айтқанда, DSV SSAS дерекқорының реляциялық схемаға қалай сәйкестендіретінін анықтайды және ол реляциялық мәліметтер базасының үстінде абстракция қабатын ұсынады. Осы абстракция қабатын қолдана отырып, бастапқы реляциялық деректер базасында ешқандай қатынастар болмаса да, факт пен өлшем кестелері арасындағы қатынастарды анықтауға болады. Атаулы есептеулер, теңшелетін шаралар және жаңа атрибуттар DSV-де анықталуы мүмкін, олар деректер қоймасының өлшем схемасында болмауы мүмкін. Мысалы, логикалық мәнін анықтайтын аталған есептеу Оқиғалар шешілді егер оқиғаның күйі шешілсе немесе жабылса, мәнді ақиқат деп есептейді. Қызмет менеджері аталған есептеулерді қолдана отырып, шешілген оқиғалардың пайызы, шешілген оқиғалардың жалпы саны және шешілмеген оқиғалардың жалпы саны сияқты пайдалы ақпаратты көрсету үшін шараны анықтай алады.

Аталған есептеудің тағы бір жылдам мысалы болып табылады Шығарылымдар Орындалды. Бұл аталған есептеу нақты аяқталу күні жоспарланған аяқталу күнінен аз немесе оған тең болған шығарылым жазбаларының санына денсаулық жағдайын жылдам тексеруді қамтамасыз етеді.

OLAP текшелері

OLAP текшесі - бұл деректердің жылдам талдауын қамтамасыз ету арқылы реляциялық мәліметтер қорының шектеулерін жеңетін мәліметтер құрылымы. OLAP текшелері деректердің көп мөлшерін көрсете және қорыта алады, сонымен қатар пайдаланушыларға кез-келген деректер нүктелеріне іздеуге қол жетімділікті ұсынады, осылайша деректерді домалақтауға, кесуге және кесуге болады, бұл пайдаланушының аймағына сәйкес келетін әр түрлі сұрақтарға жауап береді. қызығушылық.

Өлшемдері

SSAS ішіндегі өлшем қызмет менеджері деректер қоймасынан алынған өлшемге сілтеме жасайды. Қызмет менеджерінде өлшем басқару пакетінің класына жуықтайды. Әрбір басқару бумасының сыныбында қасиеттер тізімі бар, ал әрбір өлшемде атрибуттар тізімі болады, әр төлсипат класстағы бір қасиетке сәйкес келеді. Өлшемдер деректерді сүзуге, топтауға және таңбалауға мүмкіндік береді. Мысалы, сіз компьютерлерді орнатылған амалдық жүйе бойынша сүзіп, адамдарды жынысына немесе жасына қарай санаттарға топтастыра аласыз. Содан кейін деректерді тереңірек талдауға мүмкіндік беру үшін деректер табиғи түрде осы иерархтар мен санаттарға жіктелген форматта ұсынуға болады. Сондай-ақ, өлшемдерде пайдаланушыларға егжей-тегжейлі деңгейлерге дейін & quot; тереңдетуге & quot; мүмкіндік беретін табиғи иерархтар болуы мүмкін. Мысалы, Күн өлшемі иерархияға ие, оны Жыл бойынша, содан кейін Тоқсан, Ай, содан кейін Апта, содан кейін тәулік бойынша жүргізуге болады.

Келесі суретте күн, аймақ және өнім өлшемдері бар OLAP текше көрсетілген.

Мысалы, Microsoft командасының мүшелері 2016 жылы Xbox One ойын консолінің сатылымы туралы тез және қарапайым қысқаша мәлімет алғысы келуі мүмкін. Одан әрі нақты уақыт шеңберінде сату көрсеткіштерін алу үшін төменде келтірілген мәліметтерді алуға болады. Бизнес-сарапшылар Xbox One консолінің сатылымына жаңа консоль дизайны мен Xbox One үшін Kinect-тің іске қосылуы қалай әсер еткенін тексергісі келуі мүмкін. Бұл оларға сатудың қандай үрдістері болып жатқанын және бизнес стратегиясын қандай потенциалды қайта қарау қажет екенін анықтауға көмектеседі. Күн өлшеміне сүзу арқылы бұл ақпаратты тез жеткізуге және тұтынуға болады. Деректерді кесу және кесу тек өлшемдер тапсырыс беруші оңай сүзуге және топтауға болатын атрибуттармен және деректермен жасалғандықтан ғана қосылады.

Service Manager бағдарламасында барлық OLAP текшелері жалпы өлшемдер жиынтығын пайдаланады. Барлық өлшемдер деректердің бастапқы қоймасының дереккөздерін олардың дереккөзі ретінде пайдаланады, тіпті бірнеше деректер сценарийінде де. Бірнеше деректер сценарийінде бұл текшені өңдеу кезінде өлшемнің негізгі қателіктеріне әкелуі мүмкін.

Өлшеу тобы

Өлшемдер тобы дегеніміз мәліметтер қоймасы терминологиясындағы факт сияқты тұжырымдама. Фактілер деректер қоймасындағы сандық өлшемдерді қамтитыны сияқты, өлшемдер тобы OLAP текшесінің өлшемдерін де қамтиды. Деректер көзінің көрінісіндегі бір факт кестесінен шығатын OLAP текшесіндегі барлық өлшемдерді өлшеу тобы деп санауға болады. Алайда, мысалы, OLAP текшесіндегі өлшемдерден алынатын бірнеше фактілік кестелер болатын жағдайлар болуы мүмкін. Бір деталь деңгейіндегі өлшемдер бір өлшем тобына біріктірілген. Өлшем топтары жүйеге қандай деректер жүктелетінін, мәліметтер қалай жүктелетінін және мәліметтер көпөлшемді текшемен қалай байланысатынын анықтайды.

Әрбір өлшемдер тобында нақты деректерді бір-біріне сәйкес келмейтін бөлімдерде сақтайтын бөлімдер тізімі бар. Өлшеу топтарында сонымен қатар қолданушы сұраныстарының жұмысын жақсарту үшін әр өлшем тобы үшін есептелетін болжамды деректер жиынтығын анықтайтын біріктіру дизайны бар.

Іс-шаралар

Өлшемдер дегеніміз - бұл пайдаланушылар тілімдерін, сүйектерін кесуді, біріктіруді және талдағысы келетін сандық мәндер, бұл сіздің мәліметтер қоймаңыздың инфрақұрылымын пайдаланып OLAP текшелерін құрғыңыз келетін негізгі себептердің бірі. SSAS-ті қолдану арқылы сіз өлшемдерді теңшелетін форматта пішімдеу және көрсету үшін іскери ережелер мен есептеулерді қолданатын OLAP текшелерін құра аласыз. OLAP текшесін әзірлеу уақытының көп бөлігі қандай шаралар көрсетілетінін және олардың қалай есептелетінін анықтауға және анықтауға кетеді.

Өлшемдер дегеніміз - бұл мәліметтер қоймасының деректер кестесіндегі сандық бағандармен салыстыратын мәндер, бірақ оларды өлшем және деградацияланған өлшем атрибуттарында да жасауға болады. Бұл шаралар талданатын OLAP текшесінің ең маңызды мәндері және OLAP текшесін қарайтын соңғы пайдаланушылар үшін басты қызығушылық. Деректер қоймасында болатын өлшемнің мысалы - ActivityTotalTimeMeasure. ActivityTotalTimeMeasure - бұл әр белсенділіктің белгілі бір күйде болған уақытын білдіретін ActivityStatusDurationFact шарасы. Өлшемнің егжей-тегжейлі деңгейі сілтеме жасалған барлық өлшемдерден тұрады. Мысалы, егжей-тегжейлі деңгейі ComputerHostsOperatingSystem байланыс фактісі компьютер мен амалдық жүйенің өлшемдерінен тұрады.

Біріктіру функциялары деректерді одан әрі талдауға мүмкіндік беретін шаралар бойынша есептеледі. Жиі кездесетін функция - бұл қосынды. Жалпы OLAP текше сұрауы, мысалы, барлық әрекеттердің жалпы уақытын қорытындылайды Орындалуда. Басқа жалпы біріктіру функцияларына Min, Max және Count жатады.

Шикі деректер OLAP текшесінде өңделгеннен кейін, пайдаланушылар өздерінің өлшем өрнектерін немесе есептелген мүшелерін анықтау үшін көп өлшемді өрнектерді (MDX) қолдана отырып, күрделі есептеулер мен сұрауларды орындай алады. MDX - OLAP жүйелерінде сақталатын деректерге сұрау салуға және қол жеткізуге арналған салалық стандарт. SQL Server көпөлшемді мәліметтер базасы қолдайтын деректер моделімен жұмыс істеуге арналмаған.

Бұрғылау

Пайдаланушы OLAP текшесіндегі деректерді егжей-тегжейлі анықтаған кезде, пайдаланушы деректерді қорытындылаудың басқа деңгейінде талдайды. Деректердің егжей-тегжейінің деңгейі пайдаланушы егжей-тегжейлі өзгеріп, иерархиядағы әртүрлі деңгейдегі деректерді зерттей отырып өзгереді. Пайдаланушы жаттығулар жүргізген кезде ол қысқаша ақпараттан қысқаша фокусты мәліметтерге ауысады. Төменде бұрғылау мысалдары келтірілген:

  • Америка Құрама Штаттарының тұрғындары туралы демографиялық ақпаратты, содан кейін Вашингтон штатына, содан кейін Сиэтлдің метрополия аймағына, содан кейін Редмонд қаласына және Microsoft корпорациясындағы халыққа қатысты мәліметтерді қарау үшін деректерді толтыру.
  • 2015 күнтізбелік жылы, содан кейін жылдың төртінші тоқсанында, содан кейін желтоқсан айында, содан кейін Рождество алдындағы аптада және соңында Рождество қарсаңында Xbox One консольдерінің сатылым көрсеткіштерін қысқарту.

Өңдеу

Пайдаланушылар болған кезде бұрғылау деректер, олар OLAP текшесінің біріктірілген деректеріне үлес қосқан барлық жеке транзакцияларды көргісі келеді. Басқаша айтқанда, пайдаланушы берілген өлшем мәні үшін мәліметтерді ең төменгі деталь деңгейінде ала алады. Мысалы, сізге белгілі бір айға және өнім санатына арналған сату деректері берілген кезде, сіз осы деректер ұяшығында қамтылған әр кесте жолының тізімін көру үшін осы деректерді егжей-тегжейлі қарастыра аласыз.

& Quotdrill down & quot және & quotdrill арқылы & quot терминдерін бір-бірімен шатастыру әдеттегідей. Олардың арасындағы басты айырмашылық - бұрмаланған мәліметтердің алдын-ала анықталған иерархиясында жұмыс істейді, мысалы, АҚШ, содан кейін Вашингтон, содан кейін Сиэтл-OLAP текшесі. Өткізу деректердің ең төменгі деңгейіне тікелей өтіп, деректер көзінен бір ұяшыққа біріктірілген жолдар жиынтығын алады.

Өнімділіктің негізгі индикаторы

Ұйымдар өз кәсіпорындарының денсаулығы мен олардың нәтижелерін олардың мақсаттарына жету барысын өлшеу арқылы өлшеу үшін негізгі көрсеткіштерді (KPI) қолдана алады. KPI - бұл алдын-ала белгілі бір мақсаттар мен мақсаттарға жетуді бақылау үшін анықталатын бизнес-көрсеткіштер. Әдетте KPI мақсатты мәні мен нақты мәні бар, ол ұйымның жетістігі үшін маңызды болатын сандық мақсатты білдіреді. KPI көрсеткіштері бизнестің жалпы денсаулығын бір жылдам суретке түсіру үшін көрсеткіштер картасында топтарда көрсетіледі.

KPI-дің мысалы - барлық өзгертулерді 48 сағат ішінде орындау. Осы уақыт аралығында шешілген өзгертулердің пайыздық мөлшерлемесін өлшеу үшін KPI қолдануға болады. Көрнекі түрде KPI ұсыну үшін бақылау тақталарын құруға болады. Мысалы, сіз барлық сұраныстарды 48 сағаттан 75 пайызға дейін аяқтау үшін KPI мақсатты мәнін анықтағыңыз келуі мүмкін.

Бөлімдер

Бөлім дегеніміз - бұл мәліметтер тобының кейбір немесе барлығын сақтайтын мәліметтер құрылымы. Әр өлшем тобы бөлімдерге бөлінеді. Бөлім өлшемдер тобына жүктелген деректердің ішкі жиынын анықтайды. SSAS Standard Edition өлшемдер тобы үшін тек бір бөлімге, ал SSAS Enterprise Edition өлшемдер тобына бірнеше бөлімдерден тұруға мүмкіндік береді. Бөлімдер - бұл соңғы пайдаланушыға мөлдір, бірақ олар OLAP текшелерінің өнімділігіне де, масштабталуына да үлкен әсер етеді. Өлшем тобына арналған барлық бөлімдер әрқашан бірдей физикалық мәліметтер базасында болады.

Бөлімдер әкімшіге OLAP текшесін жақсы басқаруға және OLAP текшесінің жұмысын жақсартуға мүмкіндік береді. Мысалы, өлшемдер тобының бір бөліміндегі деректерді өлшемдер тобының қалған бөлігіне әсер етпестен алып тастауға немесе қайта өңдеуге болады. Фактілік кестеге жаңа деректерді жүктегенде, тек жаңа деректерді қамтуы керек бөлімдерге әсер етеді.

Бөлу сонымен қатар OLAP текшелері үшін өңдеуді және сұраныстың өнімділігін жақсартады. SSAS бірнеше бөлімдерді параллель өңдей алады, бұл сервердегі процессор мен жад ресурстарының анағұрлым тиімді пайдаланылуына әкеледі. Ол сұранысты орындай отырып, SSAS бірнеше бөлімдерден де деректерді алады, өңдейді және біріктіреді. Сұрауға сәйкес келетін деректерді қамтитын бөлімдер ғана сканерленеді, бұл енгізу мен шығарудың жалпы көлемін азайтады.

Бөлу стратегиясының бір мысалы - ай сайынғы бөлімге әр айға арналған деректерді орналастыру. Әр айдың соңында барлық жаңа деректер жаңа бөлімге ауысады, бұл сәйкес емес мәндермен деректердің табиғи таралуына әкеледі.

Жиынтықтар

OLAP текшесіндегі агрегаттар болжамды деректер жиынтығы болып табылады. Олар GROUP BY сөйлемі бар SQL SELECT операторына ұқсас. SSAS пайдаланушыға жауаптарды жылдам қайтара отырып, қажетті есептеулердің көлемін азайту үшін сұраныстарға жауап берген кезде осы жиынтықтарды қолдана алады. OLAP текшесіндегі кіріктірілген жиынтықтар SSAS сұрау кезінде орындалуы керек жинақтау мөлшерін азайтады. Дұрыс жиынтықтарды құру сұраныстың өнімділігін күрт жақсарта алады. Бұл жиі OLAP текшесінің өмір сүру процесінде дамиды, себебі оның сұраулары мен қолданылуы өзгереді.

Әдетте OLAP текшесіне қатысты көптеген сұрақтар үшін пайдалы болатын жиынтықтардың негізгі жиынтығы жасалады. Жиынтықтар OLAP текшесінің әр бөлімі үшін өлшемдер тобына салынған. Жинақтау салынған кезде өлшемдердің белгілі бір атрибуттары болжамды деректер жиынтығына кіреді. Пайдаланушылар OLAP текшесін қараған кезде осы жиынтықтарға негізделген деректерді тез сұрай алады. Агрегаттар мұқият жобалануы керек, өйткені ықтимал агрегаттардың саны өте көп болғандықтан, олардың барлығын құру ақылға сыйымсыз уақыт пен сақтау кеңістігін қажет етеді.

Service Manager OLAP текшелерінде жинақтарды құрастырған және құрастырған кезде келесі екі нұсқаны қолданады:

Өнімділіктің артуы параметрі қанша пайыздық жинақталғанын анықтайды. Мысалы, бұл опцияны әдепкі және ұсынылған 30 пайыз мәніне орнату OLAP текшесіне 30 пайыздық есептелген өнімділікті беру үшін жиынтықтар құрылатындығын білдіреді. Алайда бұл мүмкін агрегаттардың 30 пайызы салынады дегенді білдірмейді.

Пайдалануға негізделген оңтайландыру SSAS-ке мәліметтерге сұраныстарды журналға енгізуге мүмкіндік береді, осылайша сұраныс орындалғанда ақпарат жинақтауды жобалау процесіне жіберіледі. Содан кейін SSAS деректерді қарастырады және өнімділіктің ең жақсы бағасын алу үшін қандай жиынтықтарды құру керектігін ұсынады.


Бұл мәселені айналып өту үшін, CTE-ге таңдалған тұжырымды ораңыз, содан кейін CTE-ге сұраныс жасап, қай жерде сөйлемде терезеленген функцияның нәтижелерін қолдана аласыз.

Бұл сүзгінің артық екенін ескеріңіз: ROW_NUMBER () 1-ден басталады және әрқашан 0-ден үлкен.

Менің ойымша, сіз осындай нәрсе алғыңыз келеді:

Кірістірілген көрініс немесе CTE жылдамырақ бола ма дегенге байланысты рексемнің жауабы туралы түсініктемелерге жауап ретінде I кестесін пайдалану үшін сұраныстарды қайта қарадым және бәріне қол жетімді болды: sys.objects.

Сұрау жоспарлары бірдей болды. Мен кез-келген жағдайда сұраныстарды оңтайландырушы сол жоспарды жасайды, кем дегенде CTE-ді кірістірілген көрініске ауыстыру немесе керісінше.

Әрине, айырмашылық бар-жоғын білу үшін өз жүйеңізде өз сұрауларыңызды байқап көріңіз.

Сонымен қатар, Stack Overflow-да берілген жауаптардағы қате жиі кездесетін row_number (). Логикалық жолдың нөмірі () таңдалған сөйлем өңделмейінше қол жетімді емес. Адамдар мұны ұмытып кетеді, ал олар жауапты тексермей жауап бергенде, кейде жауап қате болады. (Мен өзімді айыптадым.)


Бұл курстың нақты алғышарттары жоқ, алайда мәліметтер базасы сериясындағы барлық курстар үшін информатиканың белгілі бір деңгейі күтіледі.

Бұл курс сіздің бизнесіңізге немесе командаңызға қызық па?

Бизнеске арналған edX көмегімен өз жұмысшыларыңызды сұранысқа ие тақырыптарға үйретіңіз.

Осы курс туралы

Курстардың мәліметтер базасы туралы

«Деректер базасы» Стэнфордтың 2011 жылдың күзінде ашылған алғашқы үш жаппай ашық онлайн курсының бірі болды. Ол 2011 жылдан бастап синхронды, содан кейін әр түрлі платформаларда өздігінен жүретін нұсқада ұсынылды. Материал қазірдің өзінде жинақ ретінде ұсынылып отыр мәліметтер базасының әр түрлі аспектілері туралы білуге ​​арналған әр түрлі тәсілдермен жүргізілетін бес курстық курс.

Реляциялық мәліметтер қоры және SQL мәліметтер базасы сериясындағы ең танымал курс. Бұл реляциялық мәліметтер базасы туралы терең түсінік алуға және реляциялық мәліметтер қоры жүйелері үшін көптен қабылданған стандартты сұраныс тілі SQL-ді игеруге ұмтылатын оқушыларға қолданылады. Қосымша курстар реляциялық мәліметтер базасындағы және SQL-дегі жетілдірілген тұжырымдамаларға, формальды негіздер мен мәліметтер базасын жобалау әдістемелеріне және жартылай құрылымдалған мәліметтерге бағытталған.

Курстардың барлығы бейне дәрістер мен демонстрацияларға негізделген. Олардың көпшілігінде түсінікті тексеру үшін бейне сегменттер арасындағы викториналар, терең викториналар және / немесе автоматты түрде тексерілетін әр түрлі интерактивті жаттығулар бар. Әрбір курста модерацияланбаған пікірталас форумы және оқулар мен ресурстарға сілтемелер бар. Курстар төменде қысқаша сипатталған. Профессор Дженнифер Видом оқытқан жалпы оқу бағдарламасы Стэнфордтың көп жылдар бойы танымал Деректер базасы курсынан алынған.

Неліктен мәліметтер базасы туралы білуге ​​болады

Дерекқорлар өте кең таралған - олар көптеген адамдар күн сайын сағат сайын болмаса, күн сайын қолданатын технологияларға негізделген. Деректер базасы көптеген телекоммуникация жүйелерінің, банктік жүйелердің, бейне ойындардың және кез келген басқа бағдарламалық қамтамасыз ету жүйесінің немесе тұрақты ақпаратты сақтайтын электронды құрылғының шешуші құрамдас бөлігі болып табылатын көптеген веб-сайттардың артында орналасқан. Табандылықтан басқа, мәліметтер қоры жүйелері оларды өте пайдалы және ыңғайлы ететін бірқатар басқа қасиеттерді ұсынады: сенімділік, тиімділік, масштабтау, параллельді бақылау, деректерді абстракциялау және сұраныстың жоғары деңгейдегі тілдері. Деректер базасы соншалықты кең және маңызды, сондықтан информатика түлектері өздерінің базасында немесе аспирантурада өздеріне пайдалы болып табылатын мәліметтер базасын жиі айтады.

Сіз не білесіз?

Деректер базасындағы Стэнфордтың онлайн-ұсынысы енді бес курстың жиынтығы ретінде қол жетімді:

Мәліметтер қоры: Реляциялық мәліметтер қоры және SQL

  • Реляциялық деректер базасында және реляциялық мәліметтер қорын басқару жүйелерінде реляциялық модель мен түсініктерге кіріспе
  • Реляциялық мәліметтер қорын басқару жүйелері үшін көптен қабылданған стандартты сұраныс тілі SQL-ді кеңінен қамту

Мәліметтер қоры: SQL-дегі кеңейтілген тақырыптар (алғышарт: Реляциялық мәліметтер қоры және SQL)


Деректерге индекстен сканерлеу немесе іздеу арқылы қол жеткізуге болады. Іздеу - бұл (әдетте) тар сүзгіге негізделген кестеден жолдарды мақсатты таңдау. Сканерлеу - бұл сұралған деректерді қайтару үшін бүкіл индексті іздеу. Егер кестеде миллион жол болса, онда сканерлеуге сұранысқа қызмет ету үшін барлық миллион жолдарды өту керек. Бір кестені іздеу индекстің екілік ағашын тез айналып өтіп, тек кестені толығымен тексеруді қажет етпей, тек қажетті деректерді береді.

Егер кестеден көптеген деректерді қайтарудың заңды қажеттілігі болса, онда индексті сканерлеу дұрыс жұмыс болуы мүмкін. Егер бізге миллиондық кестеден 950 000 жолды қайтару қажет болса, онда индексті қарап шығу мағынасы бар. Егер бізге тек 10 жолды қайтару керек болса, іздеу әлдеқайда тиімді болар еді.


Карта жағдайы

Карта жағдайы көрінетін картаның орталық нүктесін және масштабтау деңгейін өзгертеді. Бұл позицияны көрсетудің екі нұсқасы бар:

    Деректерге сәйкес келеді: Картаны автоматты түрде орталықтандырады және масштабтайды, егер сіздің сұрағыңыздың барлық деректері көрінетін болса.

Custom: Қолмен a орнатуға мүмкіндік береді Ендік, Бойлық, және Масштаб деңгейі (үлкен сандар масштабтау деңгейін жақындатады):

Егер сіз өзіңіз қалаған көрініске жету үшін картаны сүйреп, кішірейтсеңіз, бұл мәндер сіз таңдаған кезде автоматты түрде толтырылады Custom.

Automagic Heatmap сюжет түрімен қол жетімді емес


SQL тарихы

SQL-дің бастаулары жарты ғасырдан асады. 1969 жылы IBM зерттеушісі Эдгар Ф.Кодд SQL тілін дамытуға негіз болған реляциялық мәліметтер базасының моделін анықтады. Бұл модель әртүрлі мәліметтермен байланыстырылған жалпы ақпаратқа (немесе «кілттерге») негізделген. Мысалы, пайдаланушы аты нақты атпен және телефон нөмірімен байланысты болуы мүмкін.

Бірнеше жылдан кейін IBM Codd's тұжырымдары негізінде реляциялық мәліметтер қорын басқару жүйелері үшін жаңа тілде жұмыс істей бастады. Тіл бастапқыда SEQUEL немесе Structured English Query Language деп аталды. System R деп аталды, жоба бірнеше іске асырулар мен түзетулерден өтті және тілдің атауы SQL-ге қонғанға дейін бірнеше рет өзгерді.

1978 жылы тестілеуді бастағаннан кейін IBM коммерциялық өнімдерді, соның ішінде SQL / DS (1981) және DB2 (1983) дамыта бастады. Басқа сатушылар да өздерінің коммерциялық SQL негізіндегі ұсыныстарын жариялап, осыған ілесті. Бұған 1979 жылы алғашқы өнімін шығарған Oracle, сондай-ақ Sybase және Ingres кірді.


Кеңістіктік индекстермен қолданылатын әдістер

Кеңістіктік көрсеткіштер қолдайтын геометрия әдістері

Кеңістіктік индекстер белгілі бір шарттарда келесі жиынтыққа бағытталған геометрия әдістерін қолдайды: STContains (), STDistance (), STEquals (), STIntersects (), STOverlaps (), STTouches () және STWithin ()). Кеңістіктік индекске сүйену үшін бұл әдістер WHERE немесе JOIN ON сұрауының пунктінде қолданылуы керек және олар келесі жалпы форманың предикатында болуы керек:

Нөлдік емес нәтиже беру үшін, 1. геометрия және 2. геометрия бірдей кеңістіктік анықтамалық идентификаторға (SRID) ие болуы керек. Әйтпесе әдіс NULL мәнін қайтарады.