SQL въпрос.

sentenello

Registered
Здравейте колеги, не знам дали това е правилната секция да си пусна въпроса. Ако не е така, моля модераторите да преместят темата и да ме извинят.

Става въпрос за работа, за която кандидатствах. Получих емейл в който пише

Работата се състои в извличане на продуктова информация от база данни чрез специфичен елементарен език, който се използва за целта. Примерна задача е идентифициране на това кои точно продуктови характеристики е необходимо да се извлекат, намирането им в модела от данни и написване на екстрактори, които да извлекат нужните стойности.

Бихте ли ми дали някакви примери какво точно се има предвид с
идентифициране на това кои точно продуктови характеристики е необходимо да се извлекат, намирането им в модела от данни и написване на екстрактори, които да извлекат нужните стойности.
Ако може някакви примери ще бъда много благодарен.
 
Eдна най -нормална SQL заявка е това! Имаш някаква търсачка. Въвеждайки думата и сюбмитвайки я ти реално правиш един селект към базата с данни който има определена структура примерно tb_name с колони id name и правиш един екстрактор и си бомба.
PHP:
if (isset($_POST['keyword'])) {
	// Filter
	$keyword = trim ($_POST['keyword']);

	// Select statement
	$search = "SELECT * FROM tbl_name WHERE name LIKE '%$keyword%'";
	// Display
	$result = mysql_query($search) or die('query did not work');
	while($row= mysql_fetch_array( $result))  { 
		echo "<br>".$row['id']."<br>".$row['name']; 
	}
}
 
Благодаря за отговора.
А би ли ми разяснил какво точно се определя като екстрактор ? И може ли да се екстракне от БД в екселски файл примерно ?
 
някой думи в превод от EN към BG звучат много нелепо :D "екстрактори" :D :D :D Аз лично прочетох 3 пъти изречението , за да разбера wtf :shock:
 
Това наистина ли е задание за работа? Лично аз бих се отказал на този етап да кандидатствам в тази фирма :)

И един глупав въпрос: откъде всъщност става ясно, че трябва да се използва SQL? От една страна "база данни" далеч не означава SQL (може да е текстов файл, excel, таблица или просто някакъв списък на уеб страница). Говори се и за някакъв "специфичен елементарен език", който трябва да се използва. Струва ми се, че има нещо важно пропуснато в този цитат :)
 
Вероятно тези данни са записани в някакъв сериализиран вид и трябва да се екстрактнат до вид, който става удобен за ползване.
Тука има нещо наистина, което е пропуснато да се спомене.
 
Аз пък не намирам нищо странно. Човека казва, че е питал в какво се състои работният процес и вероятно когато е подал документите си е написъл от какви езици за програмиране разбира. Според мен са искали да обяснят общият случай с лек пример. Дали ще е база с данни или екселска таблица няма значение. От него ще се иска да извика някакви данни по някакъв ключ и да ги обработи за да може системата или потребителя да ги разбере. Поне така го схващам аз.
 
dakata__92 каза:
Аз пък не намирам нищо странно. Човека казва, че е питал в какво се състои работният процес и вероятно когато е подал документите си е написъл от какви езици за програмиране разбира. Според мен са искали да обяснят общият случай с лек пример. Дали ще е база с данни или екселска таблица няма значение. От него ще се иска да извика някакви данни по някакъв ключ и да ги обработи за да може системата или потребителя да ги разбере. Поне така го схващам аз.

Като цяло за работата пише че се изисква познания по SQL и HTML , но не перфектни. Все още не съм ходил на интервюто , но от това което ми пратиха и аз това разбирам. Ще имам достъп до базза данни и от мене ще се иска да напиша заявка която да извежда точно определена информация в удобен формат за този който я иска. Затова питам и какво точно имат предвид екстрактор, и възможно ли е да се напише заявка която да извежда това което искам и да го експортвам в ексел директно .. Примерно ..
 
lamerko каза:
По някакъв ключ? Ако не е релативна базата, какво правим :)
Дадох го просто като пример. Ако не е релативна базата с данни ще търси по нещо друго стринг и така нататък. Сега няма как в един пост човек да обхване всяка една ситуация и всеки един частен случай примерно.

sentenello каза:
dakata__92 каза:
Аз пък не намирам нищо странно. Човека казва, че е питал в какво се състои работният процес и вероятно когато е подал документите си е написъл от какви езици за програмиране разбира. Според мен са искали да обяснят общият случай с лек пример. Дали ще е база с данни или екселска таблица няма значение. От него ще се иска да извика някакви данни по някакъв ключ и да ги обработи за да може системата или потребителя да ги разбере. Поне така го схващам аз.

Като цяло за работата пише че се изисква познания по SQL и HTML , но не перфектни. Все още не съм ходил на интервюто , но от това което ми пратиха и аз това разбирам. Ще имам достъп до базза данни и от мене ще се иска да напиша заявка която да извежда точно определена информация в удобен формат за този който я иска. Затова питам и какво точно имат предвид екстрактор, и възможно ли е да се напише заявка която да извежда това което искам и да го експортвам в ексел директно .. Примерно ..

В чичо Гугъл е пълно с такива примери и уроци.
https://www.google.bg/search?newwindow=1&site=&source=hp&q=sql+database+export+to+excel&oq=sql+database+export+to+&gs_l=hp.3.1.0j0i22i30l9.61638.75652.0.77585.30.25.4.1.1.0.228.3370.1j21j2.24.0....0...1c.1.64.hp..4.26.3135.0.t0DA6Xr4KWM

Според мен вероятно ще има някакъв междинен език освен SQL, PHP или .NET които ще обработват и връщат резултата. Сега щом има навързан и HTML в темата вероятно ще е PHP но общо взето няма от какво да се плашиш. Когато ти подадът определена задача била тя създаването на търсачка, модул за акаунти или нещо друго ще ти се налага да правиш заявки към някакви бази и това е. Тук само им тълкуваме думите, но реално ГАДАЕМ какво могат да ти дадът като задачи или нещо подобно. Може самата работа да се изразява в подобряване и ускоряване на някакви заявки и да им е нужен човек разбиращ и можешщ да им ускори някоя сложна заявка на от 3 - 4 реда.
Преди време един човек доста навътре в нещата ми каза, че понякога е по-добре да направиш две/три заявки от колкото да обединиш всичко в една тъй като самите вътрешни цикли, които се налага да се използват за обхождане на базата по зададените клаузи WHERE, ORDER BY при някакакви джойнтове е направо убийствено. Наистина често това е било по-простото решение. Така или иначе ако искаш само с SQL да обработваш и сортираш някакви си данни по дата и така нататък е горе долу поносимо, но ако започнеш да въртиш при дадени условия други вътрешни цикли то е по-добре да разбиеш частта на две заявки или ако можеш да минеш с една по-проста и с PHP да правиш проверките ще е по-добре. Реално SQL ще се справи много бързо със задачата но нямаш възможността да определиш при кои условия точно да не въртиш цикли защото ти реално незнаеш какво прави и как обхожда базата при зададени различни параметри. Може да обхожда търсейки някаква стойност след което като я намери да врътне друг цикъл и така нататък за да достигне до даденото условие. Това става наистина бързо но често редът с execute($SQL); прави най-чувствителното забавяне. Тъй като съм уморен и може да съм написал доста глупости се надявам колегите да не са много критични към думите ми. Все пак когато кандидатстваш за работа наистина е хубаво да се поинтересуваш предварително за фирмата и това каква дейност се извършва там за да имаш една основна представа. :)
 
Със сигурност няма да искат да напише проста заявка за извличане от база данни. Та то това начинаещ програмист трябва да го може.

Ще има извличане, но съм почти 100% сигурен, че данните ще са форматирани в някакъв техен вид и той ще трябва да напише "екстрактваща" (пу, не мога да намеря българска дума) функция, която да изкара данните в нормален вид.
Може да трябва да разбере дали са в JSON формат, сериализация (binary string), дали са хеширани или криптирани и т.н.

Аз като кандидатствах за една фирма, ме накараха да напиша алгоритъм, който настанява хора (възрастни и деца) в хотел по най-добрия начин. Т.е. да няма пропуски, като например да остане 1 дете в стая без възрастен и т.н.
 
От обявата която са пуснали за работа и от емейла разбрах че.. .
Необходимо е да имате умението да се концентрирате добре, да работите изрядно и да можете да извършвате голям брой подобни една на друга задачи в рамите на работния ден.

Това според мен означава че по цял ден ще се пишат някакви екстрактори (което ако не се лъжа означава заявки извеждащи точно определена информация) и подобни такива неща.



необходимо е да имате познания и опит с 1 или повече компютърни езици, за да усвоите лесно новия работен език Темплекс
Работата включва и разбиране и овладяване на :
- основите на фирмената база данни за продуктите и работата с нея
- природата на продуктовите атрибути и техническите им спецификации
 

Back
Горе