SQL 문 문제

카테고리 없음 2016. 1. 19. 19:50 by kira-master

Generate the following two result sets:

  1. Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession as a parenthetical (i.e.: enclosed in parentheses). For example: AnActorName(A)ADoctorName(D)AProfessorName(P), and ASingerName(S).
  2. Query the number of ocurrences of each occupation in OCCUPATIONS. Sort the occurrences in ascending order, and output them in the following format: 

    There are total [occupation_count] [occupation]s.
    

    where [occupation_count] is the number of occurrences of an occupation inOCCUPATIONS and [occupation] is the lowercase occupation name. If more than oneOccupation has the same [occupation_count], they should be ordered alphabetically.

Note: There will be at least two entries in the table for each type of occupation.

Input Format

The OCCUPATIONS table is described as follows:Occupation will only contain one of the following values: DoctorProfessorSinger or Actor.

Sample Input

An OCCUPATIONS table that contains the following records:

Sample Output

Ashely(P)
Christeen(P)
Jane(A)
Jenny(D)
Julia(A)
Ketty(P)
Maria(A)
Meera(S)
Priya(S)
Samantha(D)
There are total 2 doctors.
There are total 2 singers.
There are total 3 actors.
There are total 3 professors.

Explanation

The results of the first query are formatted to the problem description's specifications. 
The results of the second query are ascendingly ordered first by number of names corresponding to each profession (2233), and then alphabetically by profession (doctorsinger, and actorprofessor).


출력 결과 

Aamina(D) 
Ashley(P) 
Belvet(P) 
Britney(P) 
Christeen(S) 
Eve(A) 
Jane(S) 
Jennifer(A) 
Jenny(S) 
Julia(D) 
Ketty(A) 
Kristeen(S) 
Maria(P) 
Meera(P) 
Naomi(P) 
Priya(D) 
Priyanka(P) 
Samantha(A) 
There are total 3 doctors. 
There are total 4 actors. 
There are total 4 singers. 
There are total 7 professors. 


답안 
SELECT NAME ||'('|| SUBSTR(OCCUPATION,1,1)||')'
FROM OCCUPATIONS 
ORDER BY NAME ASC;

SELECT 'There are total '|| COUNT(*) ||' '||LOWER(OCCUPATION)||'s.'
FROM OCCUPATIONS
GROUP BY OCCUPATION
ORDER BY COUNT(*) ASC,OCCUPATION ASC;

-- 헤맸던것 ORDER BY 할시에

첫번째를  COUNT(*)으로 정렬한다음 , 카운트된 갯수가 같을 경우 직업 알파벳 순으로 정렬하기

-- 두번 조건을 써줄수 있다는 것을 까먹음


소프트웨어 아키텍처

소프트웨어 공학 2016. 1. 19. 16:43 by kira-master

C- 소프트웨어 아키텍처 


1. 소프트웨어 아키텍처 개요 

소프트웨어 아키텍처는 소프트트웨어를 구성하는 컴포넌트와 컴포넌트간의 상호작용 관계를 말하며,

각 컴포넌트가 구성하는 소프트웨어 설계 및 진화를 위한 각종 원칙의 집합을 말한다.



=> 다음 정리 할것은 객체지향 설계 방법론, 프레임워크 개요 정리 

소프트웨어 설계 _ 소프트웨어 설계 원리

소프트웨어 공학 2016. 1. 19. 16:26 by kira-master

C - 1. 소프트웨어 설계 원리


( ) => 안에 내용은 실제 구현하면서 이론에 대한 나름대로의 생각들을 적음 


소프트웨어 설계란? 


시스템 또는 컴포넌트 아키텍처 - 컴포넌트 - 인터페이스를 정의하는  프로세스  혹은

그 프로세스의 결과이다.


설계의 목표는 시스템 구성과 이에 필요한 데이터를 추상화하고,

시스템 각 구성 요소 사이에 있는 인터페이스와 데이터의 연결을 명확히 정의 하는 것이다.


소프트웨어 설계 유형 


소프트웨어 설계 절차 관점에서 요구사항을 명세한 후에 분할과 정복의 개념으로 상위 설계

,하위 설계, 인터페이스 설계를 한다. (분할과 정복: 그대로 해결할수 없는 문제를 작은 문제로

분할하여 해결하는 방법)


소프트웨어 설계 원리 

1)  추상화 - 추상화는 큰 흐름을 잃지 않으면서 점차적으로 접근하기 위해,

상세한 수준의 구현을 고민하기보다는 상위 수준에서 제품의 구현을 생각하는 것을 말한다.

=> (구현 할 내용 : 그룹웨어 주요 기능 컨셉 정해보기  ??? )


2) 단계적 분해- 문제를 상위 수준에서 하위수준으로 분할하는 기법이다. 

=> ( 그룹웨어 상세 기능 목록 정해보기 ???)


3) 정보 은닉 - 각 모듈의 내부 내용을 감추고 인터페이스를 통해서만 메시지를 

전달할수 있도록 하는 개념이다.


4)모듈화는 소프트웨어를 각 기능별로 분할하는 것을 의미하며, 이렇게 분할할 것을 모듈이라고 한다.

(=> a 기능 모듈화)


효과 적인 모둘 설계 기준 

효과적인 모듈 설계의 기준이 되는 모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈이 기능이 독립한

정도를 의미하며 추상화단계, 단계적 분해, 정보은닉, 모듈화의 부산물이다.

기능적 독립성은 응집도와 결합도를 지표로 측정되며 , 소프트웨어 설계시 평가 기준이 된다. 

독립성을 높이려면 모듈의 응집도를 강하게 하고, 결합도를 약하게 해서 모듈의 크기를 작게 만들어야 한다.


-응집도 

모듈의 응집도는 모듈의 요소들이 서로 관련된 정도나, 모듈의 독립적이 기능으로 정의된 정도를 말한다.

-결합도

모듈의 결합도는 모듈간의 상호 의존하는 정도 또는 두 모듈 사이의 연관관계를 측정하는 척도를 말한다.


모듈은 다른 모듈에 의존하는 성향 없이 독립적인 기능을 할수록 결합도 

 

(=> 모듈의 기능이 정확하게 정의되어 있어 모듈에 포함된 하위 기능들과 다른 모듈간의 구분이 쉽게 되며 

다른 모듈과 독자적으로 특정 기능만 수행하게 설계한다.

예 ) 업부 관리 시스템 모듈 (업무 부여, 수행 , 보고 , 완료 처리) , 보고서 기능 모듈(보고서 작성, 입력, 수정, 제출 처리, 승인처리 ) 

 )

'소프트웨어 공학' 카테고리의 다른 글

OOP 객체 지향 설계 - SOLID 원칙  (0) 2016.01.21
소프트웨어 아키텍처  (0) 2016.01.19
Nav