2016년 11월 23일 수요일

인적분할 VS 물적분할

인적분할 VS 물적분할

인적분할 VS 물적분할

기업분할은 인적분할과 물적분할로 나눌 수 있다. 분할을 통해 새로 생기게 되는 기업(신설법인)의 주식을 기존 주주들에게 배분하면 인적분할이고, 기업에서 100% 자회사 형태로 보유하면 물적분할이다. 즉, 인적분할과 물적분할은 신설법인의 주주구성을 어떻게 하느냐에 따라 나뉘게 된다. 

물적분할은 기업을 완전히 분리한다기보다는 보통 경영 효율성 제고를 위해 전략적 으로 구분한다고 볼 수 있다. 사무실에 일종의 칸막이(파티션)를 치는 것과 같다. 반면 인적분할은 기업의 특정 사업부문을 완전히 떼어내는 것이다. 해당 사업부문을 아예 다른 사무실이나 건물로 옮겨버리는 것과 비슷하다. 인적분할은 보통 지주회사 체제로 전환하려는 기업에서 많이 활용한다. 때때로 공동창업자 혹은 주주 간의 관계정리를 위해 인적분할을 하기도 한다. 물적분할은 주로 특정 사업부문을 완전히 독립시키기 위해 활용하는 편이다. 또한 특정 사업부문을 매각하기 위해 진행하는 경우도 많다. 모기업의 100% 자회사가 되는 형태이기 때문에 M&A를 통한 매각이 용이해지기 때문이다.

인적분할 시, 신설법인의 주식은 기존 주주들이 존속법인의 지분율을 그대로 적용하여 나누어 갖게 된다. 그렇기에 각 주주들이 존속법인과 신설법인에서 갖는 영향력에는 변함이 없다. 인적분할을 하고 나면 존속법인은 당연히 상장기업의 지위를 유지한다. 뿐만 아니라 신설법인도 일정한 절차를 거치면 상장할 수 있다. 이미 상장요건을 충족한 기업을 일정 비율에 따라 나눈 것이기 때문이다. 따라서 인적분할 후에는 존속법인, 신설법인 두 상장기업이 생겨나게 되는 것이 보통이다.

인적분할은 상장심사 기준이 까다롭지 않다 보니 우회상장을 위한 수단으로 활용되기도 한다. 비상장기업이 상장기업과 합병한 후에 다시 인적분할하여 분리하면 인수기업과 피인수기업 모두 상장기업의 지위를 유지할 수 있기 때문이다. 한편 완화된 상장심사 기준을 악용하여 부실 사업부문을 신설법인에 넘긴다든가, 존속법인에 남기는 식으로 한쪽에 몰아넣을 가능성도 있다. 그렇기에 투자자는 재상장 이후에 존속법인 혹은 신설법인의 주식을 지속적으로 보유하는 것에 대해 면밀하게 검토해볼 필요가 있다.

물적분할은 신설법인이 발행하는 주식을 전부 존속법인이 보유하는 형태이기 때문에 신설법인은 존속법인의 100%자회사 구조가 된다. 따라서 단순물적분할에 대해서는 별도의 분할비율을 산정할 필요가 없다. 단일 주주 형태를 보이기 때문에 주식분산기준을 충족시키지 못해 비상장기업으로 된다.


- 160503. 일동제약 증권신고서(분할)
- 160803. 일동제약 증권발행실적보고서(합병등)

일동제약은 인적분할과 물적분할을 동시에 진행하는 특이한 사례다. 일동제약은 인적분할의 방법으로 일동제약(주)을 신설하고, 물적분할의 방법으로 일동바이오사이언스(주)와 일동히알테크(주)를 신설한다. 분할 후 존속회사는 일동홀딩스(주)이다. 즉, 분항를 통해 일동홀딩스, 일동제약, 일동바이오사이언스, 일동히알테크 4개의 회사로 나뉘게 된다. 이를 통해 지주회사의 면모를 갖추게 된다.

인적분할로 인해 나눠지는 일동홀딩스와 일동제약 주식의 비율은 약 0.29 대 0.71이며, 기존 일동제약 주식을 소유한 주주는 해당 비율에 따라 일동홀딩스와 일동제약 신주를 각각 배정받게 된다. 분할기일은 2016년 08월 01일이고, 주식 재상장 예정일은 8월 31일이다.

- 160503. 일동제약 증권신고서(분할)

일동제약 측은 각 사업부문의 전문화와 책임경영 체제를 확립하고, 신속 정확한 의사결정을 도모하여 목표달성 및 수익창출을 유도하기 위해 기업분할을 한다고 밝혔다. 지주회사 형태로 전환됨에 따라 결과적으로는 경영권 강화로 이어질 것으로 보인다.

출처 : 주식투자, 전자공시부터 똑바로 보자!

[주식ABC] 인적분할과 물적분할

최근 주식시장에서 신세계의 기업분할이 큰 화제가 됐습니다. 신세계 그룹은 지난달 20일 오후 3시 할인점 이마트 부문과 신세계 백화점 부분을 분할하겠다는 내용을 발표했습니다. 

기업분할은 말 그대로 기업 자체를 쪼개는 행위입니다. 기업분할은 넓은 의미로 보면 분사(Spin-off)의 한 형태입니다. 

기업분할은 분할 기업별로 각자의 특성에 맞는 경영을 효율적으로 할 수 있다는 장점을 가집니다. 기업분할을 통해 우량사업과 부실사업을 분리하면 우량사업에서 벌어들인 돈으로 부실사업의 손실을 메우는 일도 없어집니다. 

신세계 백화점 부문과 할인점 이마트 부문은 신세계라는 기업에 속해 있었지만, 앞으로는 각각의 사업 부문은 개별 기업으로 운영됩니다. 신세계는 양측의 사업이 서로 다르며 이제 둘 다 규모가 커져 회사를 나눠야 오히려 전문성이 높아지고 경쟁력이 제고될 수 있다고 강조했습니다. 

기업분할 방식은 크게 두 가지로 나뉩니다. 분할되는 기업의 주식을 원래 존재했던 회사(모기업)가 100% 보유할 경우 이를 물적분할이라고 합니다. 반면 분할되는 기업의 주식을 모기업 주주들이 일정 비율로 분배하면 이를 인적분할로 부릅니다. 

물적분할은 모기업이 지분을 100% 보유하기 때문에 물적분할로 쪼개져 나온 회사는 별도로 상장되지 않고 비공개 회사로 남습니다. 

인적분할의 경우 원래 있었던 회사는 물론 쪼개진 회사도 재상장ㆍ등록 절차를 거쳐 상장이 가능합니다. 이미 상장 심사를 통과했던 기업을 일정 비율에 따라 나눈 것이기 때문에 인적분할된 기업의 재상장ㆍ등록 심사는 크게 까다롭지 않은 편입니다. 인적분할로 쪼개진 기업의 주가는 시가총액을 분할 비율로 나눠서 결정합니다. 분할 비율은 각각의 순자산가치를 따져 회사 측이 결정합니다. 

물적분할은 구조조정을 목적으로 이뤄지는 경우가 많습니다. 물적분할 방식으로 실적이 나쁜 사업부문을 떼어서 매각할 수 있다면 모기업에 입장에서는 이익입니다. 인적분할은 원래 있었던 기업과의 연계성을 유지하면서 별도 회사로 가는 것이 경영전략이나 주가관리 차원에서 유리하다고 판단될 경우 시행되는 경우가 많습니다.

신세계는 인적분할 방식을 택할 예정입니다. 신세계는 인적분할이 분리된 회사의 전략적인 독립성을 보장하고 주주 가치도 높일 수 있다고 판단, 이 방식을 택할 예정이라고 설명했습니다. 분할 비율은 아직 정해지지 않았습니다. 

만약 백화점 부문과 할인점 이마트 부문의 분할이 20 대 80의 비율로 이뤄지면, 기존 신세계 주식 100주를 가진 주주는 백화점 주식 20주와 이마트 주식 80주를 받게 됩니다. 따라서 신세계가 두 회사로 나뉘더라도 대주주와 특수관계자의 지분 구조는 변하지 않습니다. 

단 물적분할과 인적분할은 회사가치나 주주의 주식가치에는 영향을 미치지 않기 때문에 주주에게 주식 매수청구권을 주지 않습니다.

기업분할이 주가에는 어떤 영향을 미칠까요? 반드시 긍정적인 영향을 미치는 것은 아닙니다. 신세계 주가는 발표한 20일 당일은 마감 직전 25분간 4% 올랐지만 이후 떨어져 지난 1일에는 발표 전보다 1.8% 하락했습니다. 전문가들은 투자자들이 기업분할을 통해 기업가치가 상승할 가능성을 잘 따져봐야 한다고 조언합니다.

[출처]http://biz.chosun.com/site/data/html_dir/2011/02/07/2011020700752.html

2016년 11월 16일 수요일

[windows] 포트 사용여부 확인하기 80 포트 죽이기

1. 80 포트 확인 PID 확인
netstat -ano | find "80"   또는 netstat -o -n -a | findstr 0.0:80
사용중이면 리스트에 나타난다.
 예) TCP 0.0.0:80 0.0.0.0:0 LISTENING 21120
2. pid 찾기
 tasklist /FI "PID eq 21120"
3. 해당 포트 프로세스 중지하기
 C:\> for /f "tokens=5" %p in (' netstat -ano ^| find ":80" ') do taskkill /F /PID %p
4.해당 포트를 사용하는 프로세스를 직접 확인하는 방법
C:\> for /f "tokens=5" %p in (' netstat -ano ^| find ":80" ') do tasklist /FI "PID eq %p"

출처
http://ilovehsk.tistory.com/101

이클립스+nodejs+git 설정

이클립스와 Git 연동하여 사용하기
http://itmir.tistory.com/461

nodejs 시작하기-이클립스
http://ourcstory.tistory.com/36

2016년 11월 8일 화요일

remoteCSE와 AE

oneM2M에서 제공하는 기능을 호출하기 위한 소프트웨어 객체를 등록하기 위해서는 두가지 방법이 있다. IoT 장치가 자체 CSE를 통한 oneM2M 기능을 일부 탑재한 경우에는 <remoteCSE>자원 타입을 사용하고, IoT  장치가 서버에 존재하는 CSE를 통한 기능만을 활용하는 경우에는 <AE> 자원 타입을 사용한다. 대다수의 저 사양 IoT 장치는 현실적으로 자체 CSE를 탑재하기 어려우므로 기능 호출을 위한 객체 등록은 <AE> 자원 타입을 주로 활용한다.

Yellow Turtle 과 Thyme은 <AE>로 등록 사용되고 &Cube : Rosemary v21.14는 MN 이 사용됨.

2016년 11월 2일 수요일

SQL의 데이터 조작 기능(3)

SQL의 데이터 조작 기능(3)

8. 그룹별 검색

테이블에서 특정 속성의 값이 같은 투플을 모아 그룹을 만들고, 그룹별로 검색을 하기 위해 GROUP BY 키워드를 사용한다. 그룹에 대한 조건을 추가하려면 GROUP BY 키워드를 HAVING 키워드와 함께 사용하면 된다. GROUP BY 키워드가 없는 SELECT 문에서는 테이블 전체를 하나의 그룹으로 하여 검색을 진행하는 것으로 이해할 수 있다. 그룹별로 검색하는 SELECT 문의 기본 형식은 다음과 같다.

SELECT [ ALL | DISTINCT ] 속성_리스트
FROM 테이블_리스트
[ WHERE 조건 ]
[ GROUP BY 속성_리스트 [ HAVING 조건 ] ]
[ ORDER BY 속성_리스트 [ ASC | DESC ] ];

주문 테이블에서 주문제품별 수량의 합계를 검색해보자. 속성값은 총주문수량으로 한다.
SELECT product, SUM(quantity) AS '총주문수량' FROM order_info GROUP BY product;

주문제품별 수량의 합계를 구하기 위해 동일 제품을 주문한 투플을 모아 그룹으로 만들고, 그룹별로 수량의 합계를 계산한다.

그룹별로 검색할 때는 그룹을 나누는 기준이 되는 속성을 SELECT 절에도 작성하는 것이 좋다. SELECT 절에 그룹을 나누는 기준 속성을 작성하지 않아도 실행은 되지만 어떤 그룹에 대한 검색 결과인지를 결과 테이블에서 확인하기 어렵기 때문이다.

제품 테이블에서 제조업체별로 제조한 제품의 개수와 제품 중 가장 비싼 단가를 검색하되, 제품의 개수는 재품수라는 이름으로 출력하고 가장 비싼 단가는 최고가라는 이름으로 출력해보자.

 SELECT manufacturer, COUNT(*) AS 재품수, MAX(price) AS 최고가 FROM product GROUP BY manufacturer;

제품 테이블에서 제품을 3개 이상 제조한 제조업체별로 제품의 개수와, 제품 중 가장 비싼 단가를 검색해보자. 제품의 개수는 제품수, 가장 비싼 단가는 최고가로 속성을 표기한다.

SELECT manufacturer, COUNT(*) AS 제품수, MAX(price) AS 최고가 FROM product GROUP BY manufacturer HAVING COUNT(*)>=3;

고객 테이블에서 적립금 평균이 1000원 이상인 등급에 대해 등급별 고객 수와 적립금 평균을 검색해보자.

SELECT grade, COUNT(*) AS 고객수, AVG(saved_money) AS 평균적립금 FROM customer GROUP BY grade HAVING AVG(saved_money) >= 1000;

그룹별로 검색할 때는 집계 함수나 GROUP BY 절에 있는 속성 외의 속성은 SELECT 절에 사용할 수 없다. 예를 들어 각 주문고객이 주문한 총주문수량을 주문제품별로 검색하기 위해 SELECT 문을 다음과 같이 작성하면 오류가 발생한다. GROUP BY 절에 없는 주문고객 속성을 SELECT 절에서 사용했기 때문이다.

주문 테이블에서 각 주문고객이 주문한 제품의 총주문수량을 주문제품별로 검색하라.

SELECT product, customer, SUM(quantity) AS 총주문수량 FROM order_info GROUP BY product, customer;

9. 여러 테이블에 대한 조인 검색


여러 개의 테이블을 연결하여 데이터를 검색하는 것을 조인 검색이라 한다. 조인 검색을 하려면 테이블을 연결해주는 속성이 필요하고 이 속성을 조인 속성이라 한다. 테이블을 연결하려면, 조인 속성의 이름은 달라도 되지만 도메인은 반드시 같아야 한다. 일반적으로 테이블의 관계를 나타내는 외래키를 조인 속성으로 이용한다.

조인 검색을 위한 SQL 문은 FROM 절에 검색에 필요한 모든 테이블을 나열하고, WHERE 절에는 조인 속성의 값이 같아야 함을 의미하는 조인 조건을 제시한다. 여러 테이블을 이용하는 조인 검색은 이름이 같은 속성이 서로 다른 테이블에 존재할 수도 있기 때문에 속성의 이름 앞에 해당 속성이 소속된 테이블의 이름을 표시해주는 것이 좋다. 테이블의 이름과 속성의 이름은 "." 기호로 연결한다.

판매 데이터베이스에서 banana 고객이 주문한 제품의 이름을 검색해보자.

SELECT product.name AS 제품명 FROM order_info, product WHERE order_info.product = product.id AND order_info.customer = 'banana';

FROM 절에 검색에 필요한 제품 테이블과 주문 테이블을 모두 나열한다. 그리고 WHERE  절에는 주문고객이 banana라는 조건과 함께, 조인 속성인 주문제품 속성이 값과 제품번호 속성의 값이 같아야 함을 의미하는 조인 조건을 제시한다.

판매 데이터베이스에서 나이가 30세 이상의 고객이 주문한 제품의 주문제품(product)과 주문일자를 검색해보자.

SELECT order_info.product AS '주문제품', order_info.order_date AS 주문일자 FROM customer, order_info WHERE order_info.customer = customer.id AND customer.age >= 30;

테이블 이름이 길면 속성 이름 앞에 소속 테이블을 표기하는 일이 번거로울 수 있다. 이 경우 테이블의 이름을 대신하는 단순한 별명을 사용할 수 있다. FROM 절에 테이블의 이름과 별명을 함께 제시하면 된다. 다음과 같이 별명을 사용할 수 있으며 별명을 부여하기 위해 사용하는 AS 키워드는 생략할 수 있다.

SELECT o.product AS '주문제품', o.order_date AS 주문일자 FROM customer AS c, order_info AS o WHERE o.customer = c.id AND c.age >= 30;

판매 데이터베이스에서 고명석 고객이 주문한 제품의 제품명을 검색해보자.

SELECT product.name AS 제품명 FROM order_info, customer, product WHERE order_info.customer = customer.id AND order_info.product = product.id AND customer.name = '고명석';

10. 부속 질의문을 이용한 검색
SELECT 문 안에 또 다른 SELECT 문을 포함할 수도 있다. 다른 SELECT 문 안에 내포된(nested) SELECT 문을 부속 질의문 또는 서브 질의문(sub query)이라 한다. 그리고 다른 SELECT 문을 포함하는 SELECT 문을 상위 질의문 또는 주 질의문(main query)이라 한다. 부속 질의문은 괄호로 묶어 작성하고 ORDER BY 절을 사용할 수 없으며, 상위 질의문보다 먼저 수행된다. 부속 질의문을 이용한 검색은 이어 달리기처럼 부속 질의문을 먼저 수행하고, 그 결과를 이용해 상위 질의문을 수행하여 최종 결과 테이블을 반환한다.

부속 질의문은 하나의 행을 결과로 반환하는 단일 행 부속 질의문과, 하나 이상의 행을 결과로 반환하는 다중 행 부속 질의문으로 분류한다. 부속 질의문과 상위 질의문을 연결하는 연산자가 필요한데 부속 질의문의 종류에 따라 사용할 수 있는 연산자가 다르므로 주의해야 한다. 단일 행 부속 질의문은 일반 비교 연산자를 사용할 수 있지만, 다중 행 부속 질의문은 일반 비교 연산자를 사용할 수 없다.

판매 데이터베이스에서 달콤비스켓과 같은 제조업체에서 제조한 제품의 제품명과 단가를 검색해보자.

SELECT product.name, product.price FROM product WHERE manufacturer = (SELECT manufacturer FROM product WHERE name = '달콤비스켓');

판매 데이터베이스에서 적립금이 가장 많은 고객의 고객이름과 적립금을 검색해보자.
SELECT customer.name, customer.saved_money FROM customer WHERE saved_money = (SELECT MAX(customer.saved_money) FROM customer);

최대 적립금이 단일 값이므로 위의 예제의 부속 질의문은 단일 행 부속 질의문이다. 그러므로 = 연산자를 사용할 수 있다. 단일 행 부속 질의문은 = 연산자 외에도 <>,>,<,>=,<= 와 같은 다른 비교 연산자도 사용할 수 있다. 반면, 다중 행 부속 질의문은 이러한 일반 비교 연산자를 사용할 수 없다.

판매 데이터베이스에서 banana 고객이 주문한 제품의 제품명과 제조업체를 검색해보자.
<부속 질의문>
SELECT product.name, product.manufacturer FROM product WHERE product.id IN (SELECT order_info.product FROM order_info WHERE order_info.customer = 'banana');
<조인 질의를 이용>
SELECT product.name, product.manufacturer FROM product, order_info WHERE product.id = order_info.product AND order_info.name = 'banana';
<EXISTS 연산자를 이용한 SELECT 문>
SELECT product.name, product.manufacturer FROM product WHERE EXISTS(SELECT * FROM order_info WHERE order_info.customer = 'banana' AND order_info.product = product.id);

주문 테이블에서 banana 고객이 주문한 제품의 번호를 부속 질의문으로 먼저 검색하고 그 결과를 이용해 제품 테이블에서 제품의 제품명과 제조업체를 상위 질의문으로 검색한다. 위의 부속 질의문은 결과 값을 여러 개 반환하는 다중 행 부속 질의문이다. 그러므로 = 연산자 대신 IN 연산자를 함께 사용해야 한다. IN 연산자는 부속 질의문의 결과 값들 중에서 하나라도 일치하는 것이 있으면 검색 조건이 참이 되는, 수학의 집합에 사용되는 ∈ 연산자와 같은 역할을 한다.

판매 데이터베이스에서 banana 고객이 주문하지 않은 제품의 제품명과 제조업체를 검색해보아라.
SELECT product.name, product.manufacturer FROM product WHERE product.id NOT IN(SELECT order_info.product FROM order_info WHERE order_info.customer = 'banana');

<다중 행 부속 질의문에 사용 가능한 연산자>

  • IN : 부속 질의문의 결과 값 중 일치하는 것이 있으면 검색 조건이 참
  • NOT IN : 부속 질의문의 결과 값 중 일치하는 것이 없으면 검색 조건이 참
  • EXISTS : 부속 질의문의 결과 값이 하나라도 존재하면 검색 조건이 참
  • NOT EXISTS : 부속 질의문의 결과 값이 하나도 존재하지 않으면 검색 조건이 참
  • ALL : 부속 질의 문의 결과 값 모두와 비교한 결과가 참이면 검색 조건을 만족(비교 연산자와 함께 사용)
  • ANY 또는 SOME : 부속 질의문의 결과 값 중 하나라도 비교한 결과가 참이면 검색 조건을 만족(비교 연산자와 함께 사용)
판매 데이터베이스에서 대한식품이 제조한 모든 제품의 단가보다 비싼 제품의 제품명, 단가, 제조업체를 검색해보자.
SELECT product.name, product.price, product.manufacturer FROM product WHERE product.price > ALL(SELECT product.price FROM product WHERE manufacturer = '대한식품');

판매 데이터베이스에서 2013년 3월 15일에 제품을 주문한 고객의 고객이름을 검색해보자.
SELECT customer.name FROM customer WHERE customer.id = ANY(SELECT order_info.customer FROM order_info WHERE order_date = '2013-03-15');
SELECT customer.name FROM customer WHERE EXISTS(SELECT * FROM order_info WHERE customer.id = order_info.customer AND order_info.order_date = '2013-03-15');

판매 데이터베이스에서 2013년 3월 15일에 제품을 주문하지 않은 고객의 고객이름을 검색해보자.
SELECT customer.name FROM customer WHERE NOT EXISTS(SELECT * FROM order_info WHERE customer.id = order_info.customer AND order_info.order_date = '2013-03-05');

[출처] 한빛아카데미 데이터베이스 개론 김현희지음